我有一个名为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试图从“实验室”栏中选择一行,其值等于“一”和“两”?
任何帮助将不胜感激。
答案 0 :(得分:0)
当要比较的元素数量大于1时,我们需要使用%in%
,因为==
使用“select.lines”中的元素进行回收。即实验室中的第一个元素'与“选择线”中的元素进行比较,然后是“实验室”中的第三个元素。与被选中的第一个元素进行比较。等等直到实验室结束。专栏。另外,对于matrix
,我们使用[
进行子集化而不是$
a[a[,"lab"] %in% selected.lines,]