【发布时间】:2016-03-22 14:34:20
【问题描述】:
我想计算 data.frame 中的所有组合。
数据是这样的
9 10 11 12
1 1 1 1 1
2 0 0 0 0
3 0 0 0 0
4 1 1 1 1
5 1 1 1 1
6 0 0 0 0
7 1 0 0 1
8 1 0 0 1
9 1 1 1 1
10 1 1 1 1
我想要的输出很简单
comb n
1 1 1 1 5
0 0 0 0 3
1 0 0 1 2
你知道任何简单的功能吗?
谢谢
dt = structure(list(`9` = c(1, 0, 0, 1, 1, 0, 1, 1, 1, 1), `10` = c(1,
0, 0, 1, 1, 0, 0, 0, 1, 1), `11` = c(1, 0, 0, 1, 1, 0, 0, 0,
1, 1), `12` = c(1, 0, 0, 1, 1, 0, 1, 1, 1, 1)), .Names = c("9",
"10", "11", "12"), class = "data.frame", row.names = c(NA, -10L
))
【问题讨论】:
-
如果您的数据确实是二进制的,您可以通过使用
(as.matrix(dt) %*% 2 ^ (0:(length(dt) - 1)))[, 1L]将每一行映射到唯一的十进制数来避免任何数据库操作,然后使用duplcated和tabulate从那里继续以匹配您想要的输出.看到这个QA。
标签: r count combinations