R按行号子集

时间:2014-06-03 11:02:42

标签: r subset

我有一个大矩阵“A”(14列但250 000行)。它没有id列。

我有另一个矩阵“B”(14x1),有14个数字。

1   1   3   7   15  31  63  127 255 511 1023    2047    4095    8191

我想将“A”子集仅包含B中有数字的行。例如。第1,3,7,15,31行等

我尝试了以下内容:

newA <- A[nrow(A) %in% c(B),]

我没有工作。我还尝试在大矩阵A中添加一个id列(例如A$id <- 1:nrow(A)但它也不起作用。

1 个答案:

答案 0 :(得分:2)

尝试将B转换为数字向量并使用它来索引A - 这适用于矩阵,无论它们有多少行和列。

B<-as.numeric(as.character(B))

newA<-A[B,]

编辑 - 为了清晰起见而进行了细化,并提供了有关所有维度矩阵的适用性的信息。