如何使用重复()
How to use duplicated()
我有一个包含客户购买信息的数据集。我试图通过连接 device_id(客户的)、store_id、product_id 和(购买的)日期来创建唯一 ID。我为此使用了以下代码
customer$device_store_product_date <- paste(customer$device, customer$store_id, customer$product_id, customer$date, sep='_')
结果列是这样的:
device_store_product_date
48c6eec37affa1db_203723_9313962_2016-02-19
eb2c2f00071b97f3_179926_6180944_2016-02-20
d82066a784c9552_180704_9308311_2016-02-20
9766bba65b1ef9ac_204187_9313852_2016-02-20
77d80c1066f5267_180488_9312672_2016-02-20
果然还是有重复的。为了识别它们,我使用了 duplicated():
x1 = customer[duplicated(customer$device_store_product_date),]
但是,对于 x1$device_store_product_date 中的少数几个,只有一个条目存在。这不应该是这种情况,因为 x1 应该由重复值组成。让我知道我哪里出错了。对于 select 对应于特定值 device_store_product_date 的条目,我使用了:
filter(x1, x1$device_store_product_date=="14163e6b6ed06890_203723_9313477_2016-02-20")
duplicated() return对于任何已经出现的值都是 TRUE,所以
x <-c("a","b","a")
duplicated(x)
将return
FALSE FALSE TRUE
如果你也想得到所有的第一次出现,像这样的东西会起作用
duplicated(x)|rev(duplicated(rev(x)))
duplicated
函数有一个参数 fromLast=TRUE
从末尾检查重复项。在这里,最后一个元素将为 FALSE,所有其他重复项 return 为 TRUE。通过使用 |
,我们确保包含所有重复元素。
duplicated(x)|duplicated(x, fromLast=TRUE)
可用于获取所有重复元素
我有一个包含客户购买信息的数据集。我试图通过连接 device_id(客户的)、store_id、product_id 和(购买的)日期来创建唯一 ID。我为此使用了以下代码
customer$device_store_product_date <- paste(customer$device, customer$store_id, customer$product_id, customer$date, sep='_')
结果列是这样的:
device_store_product_date
48c6eec37affa1db_203723_9313962_2016-02-19
eb2c2f00071b97f3_179926_6180944_2016-02-20
d82066a784c9552_180704_9308311_2016-02-20
9766bba65b1ef9ac_204187_9313852_2016-02-20
77d80c1066f5267_180488_9312672_2016-02-20
果然还是有重复的。为了识别它们,我使用了 duplicated():
x1 = customer[duplicated(customer$device_store_product_date),]
但是,对于 x1$device_store_product_date 中的少数几个,只有一个条目存在。这不应该是这种情况,因为 x1 应该由重复值组成。让我知道我哪里出错了。对于 select 对应于特定值 device_store_product_date 的条目,我使用了:
filter(x1, x1$device_store_product_date=="14163e6b6ed06890_203723_9313477_2016-02-20")
duplicated() return对于任何已经出现的值都是 TRUE,所以
x <-c("a","b","a")
duplicated(x)
将return
FALSE FALSE TRUE
如果你也想得到所有的第一次出现,像这样的东西会起作用
duplicated(x)|rev(duplicated(rev(x)))
duplicated
函数有一个参数 fromLast=TRUE
从末尾检查重复项。在这里,最后一个元素将为 FALSE,所有其他重复项 return 为 TRUE。通过使用 |
,我们确保包含所有重复元素。
duplicated(x)|duplicated(x, fromLast=TRUE)
可用于获取所有重复元素