我有一个由测量变量和基于这些度量的分类变量组成的数据集。即X1是测量变量,根据X1中的测量值,Y1将为0或1。
X1变量中有很多Null值,我已经替换了它们。我现在尝试根据X1中的新值替换相应的Y1变量。
因此,我要使用以下代码尝试说Y1中是否存在Null,请检查相应的X1值是否小于34.5。如果是,则将Y1设为0,否则为1。
Data$Y1[is.na(Data$Y1)] <- ifelse(Data$X1 <34.5, 0, 1)
我得到的错误: 警告信息: 在x [...] <-m中: 要替换的项目数不是替换长度的倍数
答案 0 :(得分:0)
一个简单的循环就可以解决问题
for (i in 1:nrow(Data){
if (is.na(Data$Y1[i])==TRUE){
Data$Y1[i] <- ifelse(Data$X1[i] <34.5, 0, 1)
}
}
这可能不是最充分的方法,但是逻辑很清楚,并且在数据集不大时运行得很快