我正在尝试创建一个二进制变量来回答另一个二进制变量
这是来自wooldridge库的gpa2数据集。我也尝试用while循环创建变量male,但是它仍然不起作用。我已经尝试添加else语句,但是没有用。
library(wooldridge)
gpa2 <- gpa2
for(i in 1:length(gpa2$female)){
if(gpa2$female == 0 ){
gpa2$male = 1
}
}
我期望当女性为1时,男性为0,而当女性为0时,男性为1,但是每次观察到的输出为男性= 0。
答案 0 :(得分:0)
gpa2$male<-as.numeric(!gpa2$female)
如果您使用for循环执行所有操作,那么您真的会错过R。通常,使用r的内置功能对操作进行矢量化处理,可以更快地完成您要尝试的操作。在这种情况下,我们只需使用gpa2$female
,使用!
将0翻转为TRUE,将1翻转为FALSE,然后将其翻转为数字格式,使其分别显示为1和0,然后将其整个向量进入gpa2$male
。