簡體   English   中英

as.factor 級別為 0, 1 而不是 1, 2

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

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