【发布时间】:2020-06-27 17:06:50
【问题描述】:
我有一个巨大的表格,每行有 2 位专业人员的信息,如下所示:
df1 <- data.frame("Date" = c(1,2,3,4), "prof1" = c(25,59,10,5), "prof2" = c(5,7,8,25))
# Date prof1 prf2
#1 1 25 5
#2 2 59 7
#3 3 10 8
#4 4 5 25
... ... ...
我想删除第 4 行,因为它与第 1 行相同,只是有备用值。
所以我创建了一个副本,该表的 B 和 C 列的值如下切换:
df2 <- data.frame("Date" = c(1,2,3,4), "prof2" = c(5,7,8,25), "prof1" = c(25,59,10,5))
# Date prof2 prof1
#1 1 5 25
#2 2 7 59
#3 3 8 10
#4 4 25 5
... ... ...
并执行了代码:
df1<- df1[!do.call(paste, df1[2:3]) %in% do.call(paste, df2[2:3]), ]
但它最终也删除了第 1 行。给我这张桌子:
# Date prof2 prof1
#2 2 7 59
#3 3 8 10
... ... ...
我想要的是这样的:
# Date prof2 prof1
#1 1 5 25
#2 2 7 59
#3 3 8 10
... ... ...
如何只删除与另一行相似的行?
【问题讨论】:
标签: r dataframe data-manipulation