【发布时间】:2021-07-09 10:23:38
【问题描述】:
我有 4 个虚拟变量,取值为 0 或 1,对应于是否采用某种技术。数据框有超过 14000 行。
我想遍历这 4 列,将 == 1 的不同组合提供给一个新变量。
数据
structure(list(tech1 = structure(c(2L, 1L, 1L, 1L), .Label = c("0", "1"), class = "factor"), tech2 = structure(c(2L, 2L, 2L, 2L), .Label = c("0", "1"), class = "factor"), tech3 = structure(c(1L, 1L, 2L, 1L), .Label = c("0", "1"), class = "factor"), tech4 = structure(c(1L, 1L, 2L, 1L), .Label = c("0", "1"), class = "factor")), row.names = c(NA, 4L), class = "data.frame")
由于可以有不同的组合,我的新变量应该包含每行表示的技术信息,即4种技术,每种情况下采用了哪些技术。
下面是新变量的前四行最后的样子(假设“12”=采用的技术 1 和 2,依此类推):
变量“技术”:
structure(list(Tech = structure(c(1L, 2L, 3L, 4L), .Label = c("12", "2", "234", "2"), class = "factor")),row.names = c(NA, 4L), class = "data.frame")
我已经看到了一些可以工作的函数(例如聚合),但到目前为止我还没有找到解决方案。
【问题讨论】:
-
谢谢@RonakShah。我已经编辑了问题。
标签: r loops aggregate dummy-variable