R - 如何根据列中的值选择行

时间:2015-12-03 20:57:58

标签: r subset

我有一个数据框,数据如下所示:

head(data)
      code       x     y        z        new
1   123456       1     2        0     654321 
2   999999       2     3        0     543210
3   000998       3     4        0     887765
4   106813       4     6        0         NA
5   222345       5     6        0     564738
6   106815       6     5        0         NA
7   887765       7     1        1     000998

我正在努力确保保留链接数据。例如,如果我通过对数据进行子集化来创建一个新矩阵,以便它只保留x < 4行:

data2 <- subset(data,x<4)
data2
    Code x y z    new
1 123456 1 2 0 654321
2 999999 2 3 0 543210
3 000998 3 4 0 887765

然后我想添加任何行,其中子集化数据(data2)中的行的new值等于原始数据中行的code值,像这样:

data3
    Code x y z    new
1 123456 1 2 0 654321
2 999999 2 3 0 543210
3 000998 3 4 0 887765
4 887765 7 1 1 000998

1 个答案:

答案 0 :(得分:2)

这不是最漂亮但是有效

rbind(data2, merge(data, data2[,"new", drop = FALSE], by.x = "code", by.y = "new"))