我的重新编码尝试
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
Run Code Online (Sandbox Code Playgroud)
导致"longer object length is not a multiple of shorter object length"警告和大量的NA以s df$test,即使一些重新编码正常工作.
我错过了什么?任何帮助赞赏.
DW
问题在于这一行:
df$1st==(1:3)
Run Code Online (Sandbox Code Playgroud)
你可以用 %in%
df$1st %in% (1:3)
Run Code Online (Sandbox Code Playgroud)
警告来了,因为你比较不同长度的矢量(1:3长度为3,df$1st长度"只知道你是什么").
除了我想你错过了你的价值观将被覆盖:df$2nd <= 4也df$2nd <= 6因此所有的1和2是覆盖3.