我有一个数据框:
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
)。
我更喜欢使用x
和y
值来获取剩余df的内容,如果可能的话,通常使用代码,而不会阻止数据行的位置。
答案 0 :(得分:1)
如果我正确理解了这个问题,那么所需的输出是一个数据框,其中包含data
的所有行,但不包含data1
中的行。你可以这样做反加入2个数据帧:
library(dplyr)
anti_join(data, data1)
请注意,这将返回与原始数据帧不同的行。 如果这是一个问题,你可以这样做:
library(dplyr)
anti_join(mutate(data, ID = row_number()), data1) %>% arrange(ID)