我有一个 [1,758 x 38] 数据框,其中每一行都是职位发布,而列是每个职位所需的技能(技能 1 到技能 38)。大多数职位发布都有许多相同的技能,只不过它们列在不同的列中。我想生成所需技能的摘要统计数据(例如,所需的最常见技能)。我可以使用 data.table
为单列生成此内容:
data[, .N, keyby = skills1]
但是我无法实现循环机制来遍历每一列。我该怎么做?
最佳答案
您可以在base R
中使用lapply
循环遍历列来执行此操作。输出将是一个“列表”。
lapply(data, table)
或者@thelatemail提到,“宽”格式可以转换为2列的“长”格式,然后做表格
library(reshape2)
table(melt(as.matrix(data))[-1])
使用data.table
的类似方法是
library(data.table)
setDT(melt(as.matrix(data))[-1])[, .N, .(Var2, value)]
或者使用mtabulate
library(qdapTools)
mtabulate(data)
关于r - 如何在 R 中生成跨多列的汇总统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30316328/