簡體   English   中英

將R中的二進制因子向量重新編碼為虛擬變量(0,1)

[英]Recode a vector of binary factors in R as a dummy variable (0, 1)

我有一個向量(實際上是數據幀的一列),看起來像這樣:

data$outcome
[1] Good Good Good Good Poor
Levels: Good Poor

這是它的str

str(data$outcome)
 Factor w/ 2 levels "Good","Poor": 1 1 1 1 2

我不希望像as.numeric(data$outcome) [1] 1 1 1 1 2 1和2。 as.numeric(data$outcome) [1] 1 1 1 1 2

我知道您不應該“手動”對變量進行虛擬編碼以進行回歸,並且我知道{psych} dummy.code() ,它返回一個矩陣。 我知道我可以在data.frame上使用諸如model.matrix()之類的東西:

data$outcome <- model.matrix(lm(s100b ~ outcome, data))[,2]

不是很好...

R中是否沒有類似dummify(data$outcomes)東西? 請不要開玩笑...

我稍微喜歡

data$isGood <- as.numeric(data$outcome == 'Good')

因為它更加顯式/不透明,即使有人為該因子添加了新的級別“ Awesome”,它仍然可以使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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