我有一个数据框“CB”,列有“性别”,有两个变量“男性”和“女性” . 我希望“男性”获得值0,“女性”获得值1 .
我这样做了:
CB$gender <- ifelse(CB$gender == "Male", 0, ifelse(CB$gender == "Female", 1,
999))
当我查看列时,我得到了这个结果:
head(CB$gender, 3)
[1] 1 0 0
没关系!
当我创建一个表时,我得到了这个结果:
table(CB$gender)
0 1
3555 3488
我希望0说“男”,1说“女”
为了更好地理解:
在SPSS中,可以将值0分配给“Male”,将值1分配给“Female” . 当我打印一个表时,它看起来像这样:
Male Female
3555 3488
但该列看起来像这样:
gender
0
1
1
0
这就是我要的 .
谢谢!
1 回答
您可以使用
factor
将变量转换为因子并标记它:注意:R转换为因子从1分配级别(在这种情况下为1和2)
或者,您可以使用包
lfactors
:另一个最接近SPSS类比的选项是使用包
labelled
和sjmisc
,如下所示:此外,您可以使用包
sjmisc
和sjlabelled
的组合 .函数
to_label()
与包lfactors
,labelled
和sjlabelled
的工作方式类似 .