【发布时间】:2016-02-01 00:44:38
【问题描述】:
我有一个如下所示的数据框:
structure(list(ab = c(0, 1, 1, 1, 1, 0, 0, 0, 1, 1), bc = c(1,
1, 1, 1, 0, 0, 0, 1, 0, 1), de = c(0, 0, 1, 1, 1, 0, 1, 1, 0,
1), cl = c(1, 2, 3, 1, 2, 3, 1, 2, 3, 2)), .Names = c("ab", "bc",
"de", "cl"), row.names = c(NA, -10L), class = "data.frame")
cl 列表示聚类关联,变量 ab、bc 和 de 携带二进制答案,其中 1 表示是,0 - 否。
我正在尝试创建一个表交叉表簇以及数据框中的所有其他列,即 ab、bc 和 de,其中簇成为列变量。想要的输出是这样的
1 2 3
ab 1 3 2
bc 2 3 1
de 2 3 1
我尝试了以下代码:
with(newdf, tapply(newdf[,c(3)], cl, sum))
这为我提供了一次只交叉制表一列的值。我的数据框有 1600 多列和 1 个簇列。有人可以帮忙吗?
【问题讨论】:
-
看来你可以试试
aggregate;aggregate(. ~ cl, newdf, sum)? -
alexis_laz...感谢您的简单执行。这真的很好,但是由于我当前的数据集有 1600 多个变量,因此一次读取所有变量有点困难。
标签: r contingency