选择具有条件的矩阵行

时间:2017-05-13 08:59:39

标签: r matrix

我有一个名为a =

的矩阵
 lab col1 col2 col3
one    1    4    7
two    2    5    8
three  3    6    9

我想只选择“lab”=“one”和“two”的行。

事实上,我的矩阵更大,我想从“实验室”栏中选择许多不同的值。 我试着做一个载体

selected.lines=c("one","two")
a=a[a$lab==selected.lines,]

但它不起作用,我猜是因为R试图从“实验室”栏中选择一行,其值等于“一”和“两”?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

当要比较的元素数量大于1时,我们需要使用%in%,因为==使用“select.lines”中的元素进行回收。即实验室中的第一个元素'与“选择线”中的元素进行比较,然后是“实验室”中的第三个元素。与被选中的第一个元素进行比较。等等直到实验室结束。专栏。另外,对于matrix,我们使用[进行子集化而不是$

a[a[,"lab"] %in% selected.lines,]