有没有一种简单的方法可以将列表的值与R中的数组匹配?

时间:2017-03-23 04:56:44

标签: arrays r list combinations

我在列表中有几个(命名的)向量:

data = list(a=runif(n = 50, min = 1, max = 10), b=runif(n = 50, min = 1, max = 10), c=runif(n = 50, min = 1, max = 10), d=runif(n = 50, min = 1, max = 10))

我想根据阵列告诉我的内容来玩它们的不同组合,例如我想要梳理梳子中的不同组合:

 var <- letters[1:length(data)]
 combs <- do.call(expand.grid, lapply(var, function(x) c("", x)))[-1,]

获取这些组合的每一行的总和。所以前8行的结果如下所示:

 res = rbind(a=sum(data[["a"]]), b=sum(data[["b"]]), ab = sum(c(data[["a"]], data[["b"]])), c = sum(data[["c"]]), ac = sum(c(data[["a"]], data[["c"]])), bc = sum(c(data[["b"]], data[["c"]])), abc = sum(c(data[["a"]], data[["b"]], data[["c"]])), d=sum(data[["d"]]))

我认为有可能通过循环遍历每一行和每一列来提取数据列表(虽然我会有可变数量的列),但这看起来很笨重而且很慢,有没有更好的方法我我没有看到?

非常感谢! FRA

0 个答案:

没有答案