-1
我在data2中有一个变量“dif2”,并且我将添加一个新变量到名为“L”的数据集中,条件是(如果-0.1 < = dif2 < = 0.1, L ==“B”,而如果dif2> 0.1,那么L ==“S”,如果dif2 < -0.1那么L ==“E”)如果还有条件重新编码
我试过不同的方法。首先我用于循环:
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之间的数值不正确编码)
见'ifelse',无需环路,或'cut'。 – zx8754