我试图删除房地产销售数据的数据框中的重复项。有时,一件契约将包含许多包裹作为销售的一部分。由于数据是按包裹计算的,因此一次销售显示为多行,每个不同的包裹,但具有相同的契约数量和销售价格 - 我们不希望这些在我们的数据集中。
我想完全删除它们,而不保留一行。使用duplicated()或unique()将删除重复项,但会保留一行重复值,以便新数据框包含该列的唯一值。这对我们不起作用 - 我们希望完全摆脱所有重复的行。那么,我怎样才能确定deed_number 和销售价格是否重复并且在不保留任何行的情况下摆脱所有这些行?
发布于 2019-03-22 09:44:21
您可以通过count
分组变量执行操作,并仅保留计数等于1的记录:
library(tidyverse)
df <- tibble(
deed = c(1, 1, 1, 2, 3, 3, 4, 5),
price = c(10, 10, 10, 20, 30, 30, 40, 50)
)
df
#> # A tibble: 8 x 2
#> deed price
#> <dbl> <dbl>
#> 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 %>%
count(deed, price) %>%
filter(n == 1)
#> # A tibble: 3 x 3
#> deed price n
#> <dbl> <dbl> <int>
#> 1 2 20 1
#> 2 4 40 1
#> 3 5 50 1
由reprex包创建于2019-03-20 (v0.2.1)
https://stackoverflow.com/questions/-100006487
复制相似问题