首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个变量在dataset中创建一个新变量

从另一个变量在dataset中创建一个新变量
EN

Stack Overflow用户
提问于 2022-03-03 22:25:42
回答 2查看 87关注 0票数 0

我想知道如何从dataset的变量中创建另一个变量,从另一个变量中获取值。也就是说,我有一个可用的变量叫做“年龄”,它包含了人的年龄的积分值。因此,我想在这个数据集中创建一个名为“教育”的变量,这样,如果年龄小于7岁,教育就具有“初等教育”的价值。如果年龄在7至12岁之间,教育就具有“中等教育”的价值。知道我该怎么做吗?

我试过做下面这样的事情,但是我没有得到结果

代码语言:javascript
复制
if ((df$age) < 7){
  df$education="primary education"
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-04 01:24:06

对于基R,可以将ifelse命令用于按元素划分的条件:

代码语言:javascript
复制
df$education <- ifelse(df$age < 7, "primary education", "secondary education")

您可以嵌套ifelse语句以获得更多级别(虽然不是很优雅):

代码语言:javascript
复制
df$education <- ifelse(df$age < 7, "primary education",
                       ifelse(df$age >= 7 & df$age < 12, "secondary education"), "other")
票数 1
EN

Stack Overflow用户

发布于 2022-03-03 22:44:00

下面是一个使用tidyverse的解决方案,并更详细地说明了dplyr

代码语言:javascript
复制
library(dplyr)

# create example data by sampling random ages
df <- data.frame(age = sample(x = 5:21, size = 100, replace = TRUE))

# classify age into education col
df <- dplyr::mutate(df, education = dplyr::case_when(age < 7 ~ "primary education", 
                                                     age >= 7 & age < 12 ~ "secondary education", 
                                                     age >= 12 ~ "other"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71344544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档