我在data2中有一个变量“dif2”,我将向名为“L”的数据集添加一个新变量,条件是(如果-0.1 <= dif2 <= 0.1,L ==“B”,而如果 dif2 > 0.1,则 L == "S",如果 dif2 <-0.1 则 L == "E")
我尝试了不同的方法。首先我使用 for 循环:
for (i in 1:nrow(data2)) {
if(!is.na(data2$dif2[i] < -0.1)){
data2[i,'L'] <- "E"
}
else if (!is.na(data2$dif2[i] > 0.1)) {
data2[i, 'L'] <- "S"
}
else if (!is.na(data2$dif2[i] <= 0.1 && data2$dif2[i] >= -0.1)) {data2[i, 'L'] <- "B"
}
}
这效果不好。
然后我像这样直接使用重新编码:
data2$dif2[data2$dif2 < -0.1] <- "E"
data2$dif2[data2$dif2 > 0.1] <- "S"
data2$dif2[data2$dif2 >= -0.1 && data2$dif2 <= 0.1] <- "B"
这也不好用(-0.1 和 0 之间的一些数字没有正确编码)