【发布时间】:2019-01-07 20:45:41
【问题描述】:
我正在尝试根据单元格中的值提取数据框的列名。我的数据是几百个类别的系列,单元格中有一个简单的二进制 0 或 1,以指示我想要在我的新 df 中使用哪个列名。
为了说明我的观点:
year cat1 cat2 cat3 ... catN
2000 0 0 1 0
2001 1 0 0 0
2002 0 0 0 1
....
2018 0 1 0 0
我想得到一个像这样的df:
year category
2000 cat3
2001 cat1
2002 catN
....
2018 cat2
我的代码:
newdf <- as.data.frame(colnames(mydf)[which(mydf == "1", arr.ind = TRUE)[2]])
可惜这只返回一个类别名称!
任何帮助将不胜感激!
【问题讨论】:
-
仔细查看包
dplyr和tidyr或更复杂的data.table。它们旨在做到这一点。