如何从r中的较大数据帧获取残差数据帧

时间:2016-05-18 08:45:26

标签: r dataframe

我有一个数据框:

x<-c(10,80,30,40,50,10,20,80,90,100)
y<-c(15,10,35,45,90,65,75,85,80,90)
E<-seq(1,10,by=1)

data <- data.frame(x,y,E)

从此data我想提取一个子数据框data1,它包含在data中:

x1<-c(10,80)
y1<-c(15,85)
E1<-c(1,8)
data1<-data.frame(x1,y1,E1)
names(data1)<-c("x","y","E")

我希望得到剩余数据框(data - data1)。

我更喜欢使用xy值来获取剩余df的内容,如果可能的话,通常使用代码,而不会阻止数据行的位置。

1 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,那么所需的输出是一个数据框,其中包含data的所有行,但不包含data1中的行。你可以这样做反加入2个数据帧:

library(dplyr)
anti_join(data, data1)

请注意,这将返回与原始数据帧不同的行。 如果这是一个问题,你可以这样做:

library(dplyr)
anti_join(mutate(data, ID = row_number()), data1) %>% arrange(ID)