【发布时间】:2016-08-11 02:57:00
【问题描述】:
如何将 R 中包含 20 个变量和 3144 个观测值的数据集中的分类值 (Yes/No) 转换为数值 (0/1)?
【问题讨论】:
标签: python r statistics
如何将 R 中包含 20 个变量和 3144 个观测值的数据集中的分类值 (Yes/No) 转换为数值 (0/1)?
【问题讨论】:
标签: python r statistics
在R 中我们可以这样做
df1[] <- +(df1=="Yes")
或者
df1[] <- lapply(df1, function(x) as.integer(x=="Yes"))
注意:如果“是”应为 0 而“否”应为 1,请替换帖子中的 df1=="No" 和 x=="No"。
【讨论】:
“转换”很简单,但我不确定你的数据集是什么样子的,如果它是一个带有字符串的简单数组,那么这会有所帮助:
b = ["Yes", "No", "Yes"]
a = [ 0 if x.lower() == "yes" else 1 for x in b]
【讨论】:
dat <- as.factor(c("yes", "no", "yes", "yes"))
as.numeric(dat) - 1
【讨论】: