Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-如何在不保留单个重复行的情况下删除重复行*?_R_Data Science - Fatal编程技术网

R-如何在不保留单个重复行的情况下删除重复行*?

R-如何在不保留单个重复行的情况下删除重复行*?,r,data-science,R,Data Science,我正在尝试删除房地产销售数据框架中的重复项。有时,一份契约会包含许多包裹作为销售的一部分。因为数据是按地块进行的,所以一次销售显示为几行,每个不同的地块具有相同的契据编号和销售价格-我们不希望在数据集中显示这些 我想完全删除它们,而不保留一行。使用duplicated()或unique()将删除重复项,但将保留一行重复值,以便新数据框包含该列的唯一值。这对我们不起作用-我们希望完全消除所有重复的行。那么,我如何识别契约号和销售价格是重复的,并在不保留任何行的情况下删除所有这些行?您可以通过分组变

我正在尝试删除房地产销售数据框架中的重复项。有时,一份契约会包含许多包裹作为销售的一部分。因为数据是按地块进行的,所以一次销售显示为几行,每个不同的地块具有相同的契据编号和销售价格-我们不希望在数据集中显示这些


我想完全删除它们,而不保留一行。使用duplicated()或unique()将删除重复项,但将保留一行重复值,以便新数据框包含该列的唯一值。这对我们不起作用-我们希望完全消除所有重复的行。那么,我如何识别契约号和销售价格是重复的,并在不保留任何行的情况下删除所有这些行?

您可以通过分组变量进行
计数,并且只保留计数等于1的记录:

库(tidyverse)
df#A tibble:8 x 2
#>契约价格
#>    
#> 1     1    10
#> 2     1    10
#> 3     1    10
#> 4     2    20
#> 5     3    30
#> 6     3    30
#> 7     4    40
#> 8     5    50
df%>%
计数(契约、价格)%>%
过滤器(n==1)
#>#tibble:3 x 3
#>契约价格
#>     
#> 1     2    20     1
#> 2     4    40     1
#> 3     5    50     1

由(v0.2.1)创建于2019-03-20,我想这会删除其他列(如果有),但您可以交替使用
df%>%groupby(契约,价格)%%>%filter(n()==1)
@Frank correct,或者使用
add\u count
来代替。这非常有效,谢谢。