【发布时间】:2011-12-06 05:24:59
【问题描述】:
我尝试根据 ID 选择行。例如,在一个名为test的数据框中,ID 201 有 6 行数据,ID 202 也有 6 行数据,还有 203、204……等等。
现在我只想从数据集中提取 201 和 202,所以它应该总共有 12 行。不过
out <- test[test$ID==c(201,202), ]
out <- subset(test, ID==c(201,202))
只返回三个201和三个202,分别是Row 1、Row 3、Row of 5 8 10 12。
谁能提供一些建议,告诉我如何在 R 中做到这一点?
【问题讨论】:
-
如果你想知道 为什么 你得到了你所做的,
==会逐元素比较并在一个向量用完时回收它。所以它只是用 201 和 202 交替检查 ID 列。%in%答案是最好的,但你也可以使用subset(test, ID == 201 | ID == 202)