我的重新编码尝试
df$test[(df$1st==(1:3) & df$2nd <= 4)] <- 1
df$test[(df$1st==(1:3) & df$2nd <= 5)] <- 2
df$test[(df$1st==(1:3) & df$2nd <= 6)] <- 3
导致 "longer object length is not a multiple of short object length"
警告和 df$test
中的许多 NA
>,即使某些重新编码工作正常。
我错过了什么?任何帮助表示赞赏。
dw
最佳答案
问题出在这一行:
df$1st==(1:3)
您可以使用 %in%
df$1st %in% (1:3)
警告出现是因为您比较了不同长度的向量(1:3
的长度为 3,df$1st
的长度“只有你知道什么”)。
此外,我认为您错过了您的值被覆盖:df$2nd <= 4
也是df$2nd <= 6
所以所有 1 和 2 都被 3 覆盖。
关于r - 结合条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4428255/