R rowSums跨矩阵的特定列

时间:2016-10-25 18:21:16

标签: r rowsum

我有来自1000 x 3的整数组合的1:10矩阵(例如,每列是1到10之间的索引,我想查看索引的组合)。我想获得组合的行索引,导致部分行总和满足某些条件。

cvec = c(14,15)
L   <- 3
vec <- seq(10)
lst <- lapply(numeric(L), function(x) vec)
mat = as.matrix(expand.grid(lst))

partial = NULL
for (k in seq(L-1)){
  for (r in seq(L-k+1)){
    partial = c(which(rowSums(mat[,r:(r+k-1)])<=cvec[k]),partial)
  }
}

我一直收到以下错误:

 Error in rowSums(mat[, r:(r + k - 1)]) : 
  'x' must be an array of at least two dimensions 

但是,当我在for循环之外运行which(rowSums(mat[,r:(r+k-1)])<=cvec[k])甚至只是rowSums(mat[,r:(r+k-1)])时,我不会收到错误消息。这是有原因的吗?

0 个答案:

没有答案