Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用mutate和ifelse函数将3个分类变量转换为1个虚拟变量_R_Categorical Data_Mutate_Dummy Variable - Fatal编程技术网

R 使用mutate和ifelse函数将3个分类变量转换为1个虚拟变量

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

我有一项社会调查的数据。其中一个分类变量是教育。它将人口分为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   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