[英]as.factor with levels 0, 1 instead of 1, 2
我的變量 ( poor
) 是一個具有 2 個級別的因子:Poor 和 Non-Poor。
如果它很差,我需要它是 1,如果它是非差,我需要它是 0,所以我將它轉換為數字(使用as.numeric
,然后再次將其更改為 factor ,使用as.factor
,但現在的水平是 1 和 2而不是 1 和 0。
我該如何更改?
你想查一下poor
是"Poor"
在哪里不是。 所以,
poor <- factor(c("Poor", "Non-poor", "Poor", "Non-poor"))
poor == "Poor"
這為您提供了該問題的TRUE
/ FALSE
。 如果你把它變成一個數字向量,就像這樣
as.numeric(poor == "Poor")
TRUE
被轉換為 1, FALSE
被轉換為 0。
您可以根據數據的因子級別對數據進行索引。 使用@Georgery 的數據
poor <- factor(c("Poor", "Non-poor", "Poor", "Non-poor"))
c(0, 1)[poor]
#[1] 1 0 1 0
或者使用labels
factor(c("Poor", "Non-poor", "Poor", "Non-poor"), labels = c(0, 1))
#[1] 1 0 1 0
#Levels: 0 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.