簡體   English   中英

用car重新編碼變量-意外變量(.x值)被視為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加載了軟件包?)而不是carrecode 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM