我觉得这个问题应该已经有了答案,但我没有找到。我有一个数组,我想使用向量对其进行子集化。我知道如何以艰难的方式做到这一点,但我相信一定有一种简单的方法。有任何想法吗?
这是我的例子:
dat <- data.frame(a = rep(letters[1:3], 2), b = rep(letters[1:2], 3), c = c(rep("a", 5), "b"), x = rnorm(6), stringsAsFactors = FALSE)
l <- by(dat[ , "x"], dat[ , 1:3], mean)
l["a", "a", "a"] # works
l[c("a", "a", "a")] # does not work
所以我想我需要一种方法来删除
c()
包装形式 c("a", "a", "a")
,然后再将它传递给 l
。 最佳答案
您可以使用矩阵代替向量:
l[matrix(rep("a", 3), nrow=1)]
关于arrays - r 子集数组使用向量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18936833/