bio*_*ard 35 r duplicate-removal delete-row dataframe corresponding-records
我有以下两个数据框(示例):
DF1:
name profile type strand
A 4.5 1 +
B 3.2 1 +
C 5.5 1 +
D 14.0 1 -
E 45.1 1 -
F 32.8 1 -
G 19.9 1 +
Run Code Online (Sandbox Code Playgroud)
DF2:
name
A
B
C
G
Run Code Online (Sandbox Code Playgroud)
我想删除行df1对于其df1$name = df2$name获得如下:
输出:
name profile type strand
D 14.0 1 -
E 45.1 1 -
F 32.8 1 -
Run Code Online (Sandbox Code Playgroud)
如果有人能告诉我使用哪一段代码会有很多帮助,起初看起来很简单但是我从昨天起就搞乱了.
csg*_*pie 40
你需要%in%操作员.所以,
df1[!(df1$name %in% df2$name),]
Run Code Online (Sandbox Code Playgroud)
应该给你你想要的东西.
df1$name %in% df2$name测试值df1$name是否在df2$name!运营商逆转的结果.Hug*_*ugh 26
这有时被称为反连接:
library(dplyr)
anti_join(df1, df2, by = "name")
Run Code Online (Sandbox Code Playgroud)