簡體   English   中英

在R中創建虛擬變量,但不包括某些情況作為NA

[英]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.

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