-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