[英]R: How to recode values of a variable to NA for cases where another variable has a value of NA
[英]Recode variable with car - unexpectedly variable (.x value) treated as NA
我的目标是将我的变量重新编码为另一个具有相反值的变量:
f1_1_recAktuell <- recode(Dat_MonatAktuell$f1_1, "1=10; 2=9; 3=8; 4=7; 5=6; 6=5; 7=4; 8=3; 9=2; 10=1")
这段代码已经为我服务了一年多,但突然我收到了以下错误消息:
警告消息:被视为NA的未替换值与.x不兼容。 请详尽指定替代品或提供.default
我想数据有问题,但我无法找出原因。 变量的类是integer
,没有缺失值。
有人知道我能做什么吗?
提前致谢!
该警告消息是由于使用了dplyr
(可能是OP加载了软件包?)而不是car
的recode
。 当dplyr::recode
屏蔽car
的相同功能时, dplyr::recode
发生这种情况。 我们可以在函数之前指定包名称作为补救措施,例如car::recode
v1 <- 1:10
car::recode(v1, "1=10; 2=9; 3=8; 4=7; 5=6; 6=5; 7=4; 8=3; 9=2; 10=1")
#[1] 10 9 8 7 6 5 4 3 2 1
另外,我们可以使用
11-v1
#[1] 10 9 8 7 6 5 4 3 2 1
可以使用dplyr::recode
复制警告
dplyr::recode(v1, "1=10; 2=9; 3=8; 4=7; 5=6; 6=5; 7=4; 8=3; 9=2; 10=1")
#[1] "1=10; 2=9; 3=8; 4=7; 5=6; 6=5; 7=4; 8=3; 9=2; 10=1" NA
#[3] NA NA
#[5] NA NA
#[7] NA NA
#[9] NA NA
Warning message: Unreplaced values treated as NA as .x is not compatible. Please specify replacements exhaustively or supply .default
为了获得预期的输出,我们还可以通过这种方式使用dplyr::recode
dplyr::recode(v1, `1` = 10, `2` = 9, `3` = 8, `4` = 7,
`5` = 6, `6` = 5, `7`=4, `8` = 3, `9` = 2, `10` = 1)
#[1] 10 9 8 7 6 5 4 3 2 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.