[英]Create dummy variable in R excluding certain cases as NA
我有看起來像這樣的數據:
V1 V2
A 0
B 1
C 2
D 3
E 4
F 5
G 9
我想在R
中創建一個虛擬變量,其中0 = {1}
, 1 = {2,3,4}
和NA = {0,5,9}
應該很簡單-有人可以幫忙嗎?
您可以在向量上使用dplyr::recode
:
> V2
[1] 0 1 2 3 4 5 9
指定映射,對其他所有內容使用默認值:
> dplyr::recode(V2,`1` = 0, `2`=1, `3`=1, `4`=1, .default=NA_real_)
[1] NA 0 1 1 1 NA NA
我們可以將V2
轉換為一個factor
並根據需要調整levels
。
df$dummy <- factor(df$V2)
levels(df$dummy) <- list(`0`=1, `1`=c(2, 3, 4), `NA` = c(0,5,9))
df
# V1 V2 dummy
#1 A 0 NA
#2 B 1 0
#3 C 2 1
#4 D 3 1
#5 E 4 1
#6 F 5 NA
#7 G 9 NA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.