【问题标题】:R Convert categorical data to dummy set by other variableR将分类数据转换为其他变量的虚拟集
【发布时间】:2020-08-14 12:46:26
【问题描述】:

我有这个数据集,我放的是真实数据的截图,而不是代码什么的。 抱歉搞砸了,我是 R 的新手 enter image description here

然后,我想将数据更改为“13 Source”分类数据的虚拟集,但必须用“HH No”进行汇总。看起来像这样 enter image description here 我尝试通过 varhandle、model.matrix 使用 to.dummy,但最终得到了混乱的数据集。 任何人都可以帮助我如何处理这个问题吗? 提前一百万谢谢

【问题讨论】:

  • 嗨!发布一个可重复的示例通常很有用,可以在here 找到一个很好的指南,我总是发现它会带来更多热情的回应。

标签: r dummy-data upsetr


【解决方案1】:

有多种方法可以根据因子生成虚拟变量 - 这是创建摘要存在表的一种方法。

假设 df 是您的数据框。您可以使用 xtabs 开始,这将从您的 2 列创建频率表。

通过比较您的值是否 > 0,如果 > 0,您将获得 TRUE,否则将获得 FALSE。在末尾添加 0 将使TRUE 成为数字 1,FALSE 成为数字 0。

(xtabs(~ HH_No + Source, df) > 0) + 0

输出

     Source
HH_No Deep_well Rainwater
    1         1         1
    3         1         1
    4         0         1

数据

df <- structure(list(HH_No = c(1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 
3, 3, 4, 4), Source = structure(c(2L, 2L, 2L, 2L, 1L, 1L, 1L, 
2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L), .Label = c("Deep_well", 
"Rainwater"), class = "factor")), class = "data.frame", row.names = c(NA, 
-16L))

【讨论】:

  • 轰隆隆!兄弟(对不起,打扰你了)本....我不能感谢你...如此高效-巧妙的方式转换为虚拟集合...
猜你喜欢
  • 2019-07-07
  • 2021-01-01
  • 2019-02-08
  • 2014-10-14
  • 2020-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多