R 使用mutate和ifelse函数将3个分类变量转换为1个虚拟变量
我有一项社会调查的数据。其中一个分类变量是教育。它将人口分为6组:“1”表示受过初等教育的人,“2”表示受过O级教育的人,“3”表示受过完整中等教育的人。4个学士学位。硕士5人,博士6人R 使用mutate和ifelse函数将3个分类变量转换为1个虚拟变量,r,categorical-data,mutate,dummy-variable,R,Categorical Data,Mutate,Dummy Variable,我有一项社会调查的数据。其中一个分类变量是教育。它将人口分为6组:“1”表示受过初等教育的人,“2”表示受过O级教育的人,“3”表示受过完整中等教育的人。4个学士学位。硕士5人,博士6人 wage age sex edu area satisf 1 NA 76 2 6 1 <NA> 2 17000 26 2 6 1 1 3 NA 74 1 6 1 <NA> 4 NA 73 2
wage age sex edu area satisf
1 NA 76 2 6 1 <NA>
2 17000 26 2 6 1 1
3 NA 74 1 6 1 <NA>
4 NA 73 2 6 1 <NA>
5 NA 49 2 5 1 1
6 25000 31 1 6 1 2
我需要学习如何使用mutate和ifelse函数。我当前的命令如下:
vova5 <- mutate(vova4,bedu=ifelse(vova4$edu<=3,vova4$edu2 <- 1,
vova4$edu2 <- vova4$edu-2))
vova5如果没有您的数据,我会在
时尝试case\u,比如:
数据样本:
vova4 <- data.frame(
edu = c(1, 2, 3, 4, 4, 5, 5, 6, 6),
age = c(70, 56, 66, 67, 34, 55, 33, 44, 32))
谢谢你提供的信息。仍然得到错误警告:>vova5%+变异(Bedu=case_when(+edu-TURE~4))错误:意外“,”在“TURE~4”中尝试用TRUE~4
替换TURE~4
。我还用一些数据修改了我的答案。
vova4 <- data.frame(
edu = c(1, 2, 3, 4, 4, 5, 5, 6, 6),
age = c(70, 56, 66, 67, 34, 55, 33, 44, 32))
library(tidyverse)
vova5 <- vova4 %>%
mutate(Bedu = case_when(edu<=3 ~ 1,
edu==4 ~ 2,
edu==5 ~ 3,
TRUE ~ 4))
vova5
vova5 <- vova4 %>%
mutate(Bedu = case_when(edu<=3 ~ 1,
edu==4 ~ 2,
edu==5 ~ 3,
edu==6 ~ 4))
> vova5
edu age Bedu
1 1 70 1
2 2 56 1
3 3 66 1
4 4 67 2
5 4 34 2
6 5 55 3
7 5 33 3
8 6 44 4
9 6 32 4