0
R是客户延迟的新手。r中的客户延迟
在数据集中,我有大约30万行15列。有些 相关列是“帐户”,“帐户开立日期”, “出货拿起日期”等
帐户数被重复,而只是想帐号行它在哪里第一次记录,而不是后续行。
例如, acc#610829952是在第一行以及在第五行,第六行等。我需要单独过滤出第一行,我需要为所有帐号进行此操作。
我不知道该怎么做。有人能帮助我吗?
R是客户延迟的新手。r中的客户延迟
在数据集中,我有大约30万行15列。有些 相关列是“帐户”,“帐户开立日期”, “出货拿起日期”等
帐户数被重复,而只是想帐号行它在哪里第一次记录,而不是后续行。
例如, acc#610829952是在第一行以及在第五行,第六行等。我需要单独过滤出第一行,我需要为所有帐号进行此操作。
我不知道该怎么做。有人能帮助我吗?
有在R
一个函数调用duplicated()
。它允许您检查是否已记录某个值,如account
。
首先,您在使用duplicated()
之前检查相关列account
哪些帐号已经出现。你会得到一个TRUE/FALSE
矢量(TRUE
表示相应的值已经出现)。有了这些信息,你将索引你的data.frame以仅检索行,你有兴趣,我会假设你有你的数据看起来像下面df
:
df <- data.frame(segment = sample(LETTERS, 20, replace = TRUE),
account = sample(1:5, 20, replace = TRUE))
# account segment
# 1 3 N
# 2 2 V
# 3 4 T
# 4 4 Y
# 5 4 M
# 6 4 E
# 7 5 H
# 8 3 A
# 9 3 J
# 10 3 Y
# 11 4 R
# 12 5 O
# 13 4 O
# 14 1 R
# 15 5 U
# 16 2 Q
# 17 5 F
# 18 2 J
# 19 4 E
# 20 2 H
inds <- duplicated(df$account)
# [1] FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
# [11] TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
df <- df[!inds, ]
# account segment
# 1 3 N
# 2 2 V
# 3 4 T
# 7 5 H
# 14 1 R
你有什么已经尝试过?请提供一个可重复的例子。 –