假设我有一个较大的数据框和一个较小的数据框。如果较小的数据框包含在较大的数据框中,如何从较大的数据框中减去较小数据框的行,得到以下结果:
较大数据框 - 较小数据框
例如:
较小数据框:
ID CSF1PO CSF1PO.1 D10S1248 D10S1248.1 D12S391 D12S391.1
203079_BA_M 10 11 14 16 -9 -9
203079_BA_F 8 12 14 17 -9 -9
203080_BA_M 10 12 13 13 -9 -9
大型数据框:
ID CSF1PO CSF1PO.1 D10S1248 D10S1248.1 D12S391 D12S391.1
203078_MG_M -9 -9 15 15 18 20
203078_MG_F -9 -9 14 15 17 19
203079_BA_M 10 11 14 16 -9 -9
203079_BA_F 8 12 14 17 -9 -9
203080_BA_M 10 12 13 13 -9 -9
203080_BA_F 10 11 14 16 -9 -9
203081_MG_M 10 12 14 16 -9 -9
203081_MG_F 11 12 15 16 -9 -9
203082_MG_M 11 11 13 15 -9 -9
203082_MG_F 11 11 13 14 -9 -9
这个小的数据框对应于大的数据框中的第3、4和5行。
ID
是一个键(唯一确定了行的其余部分),那么Big[!(Big$ID %in% Small$ID),]
应该可以工作。没有键会更混乱,我猜。 - FrankBig$ID
的位置使用rownames(Big)
。 - Frank