减去两个数据集

时间:2012-02-07 06:39:19

标签: r dataset subtraction

我有2个数据集。一个是父数据集(A),另一个是它的子集(B)。我想从A创建一个不包含B行的数据集。它应该像

C = A-B

数据集A和B都具有相同数量的列和列名称。

3 个答案:

答案 0 :(得分:8)

如果B是A的实际subset,您可以setdiff使用rownames

sset <- subset(mtcars,cyl==4)
mtcars[setdiff(rownames(mtcars),rownames(sset)),]

答案 1 :(得分:1)

如果您不想将其转换为字符串进行比较,即完全匹配 你可以尝试一下

a <- data.frame(t(matrix(1:12,3,4)))
b <- data.frame(t(matrix(7:21,3,5)))
a[!apply(a,1,FUN=function(y){any(apply(b,1,FUN=function(x){all(x==y)}))}),]

答案 2 :(得分:0)

以下内容可能会起到作用:

C <- A[!(apply(A, 1, toString) %in% apply(B, 1, toString)), ]