【发布时间】:2020-04-16 20:29:28
【问题描述】:
我有以下格式的数据:
Data <- data.frame(
Names = c("Person A", "Person B","Person F", "Person G", "Person F", "Person G", "Person Q", "Person R"),
Time_Stamp = c("2013-08-01 07:06:00", "2013-08-01 07:06:00", "2013-08-01 07:53:00", "2013-08-01 07:53:00", "2013-08-01 11:01:00", "2013-08-01 11:01:00", "2013-08-01 11:08:00", "2013-08-19 06:57:00")
)
#> Data
# Names Time_Stamp
# 1 Person A 2013-08-01 07:06:00
# 2 Person B 2013-08-01 07:06:00
# 3 Person F 2013-08-01 07:53:00
# 4 Person G 2013-08-01 07:53:00
# 5 Person F 2013-08-01 11:01:00
# 6 Person G 2013-08-01 11:01:00
# 7 Person Q 2013-08-01 11:08:00
# 8 Person R 2013-08-19 06:57:00
我想创建一个代码,用于识别何时出现人员组合(顺序无关紧要)并带有相同的时间戳。因此,例如,人物 F 和人物 G 同时出现在 2013 年 8 月 1 日的 8 点 14 分,所以他们是一个组,并获得一个唯一的组名。如果他们再次一起出现,他们仍然会得到相同的名字。我一直遇到的问题是,真实数据接近 100,000 行,我不知道其中有多少人组合出现了相同的时间戳,并且组合可能不止 2 个人。
我希望新数据看起来像这样:
Desired <- data.frame(
Names = c("Person A", "Person B","Person F", "Person G", "Person F", "Person G", "Person Q", "Person R"),
Time_Stamp = c("2013-08-01 07:06:00", "2013-08-01 07:06:00", "2013-08-01 07:53:00", "2013-08-01 07:53:00", "2013-08-01 11:01:00", "2013-08-01 11:01:00", "2013-08-01 11:08:00", "2013-08-19 06:57:00"),
Group = c("Group 1", "Group 1", "Group 2", "Group 2", "Group 2", "Group 2", "No Group", "No Group")
)
# Names Time_Stamp Group
# 1 Person A 2013-08-01 07:06:00 Group 1
# 2 Person B 2013-08-01 07:06:00 Group 1
# 3 Person F 2013-08-01 07:53:00 Group 2
# 4 Person G 2013-08-01 07:53:00 Group 2
# 5 Person F 2013-08-01 11:01:00 Group 2
# 6 Person G 2013-08-01 11:01:00 Group 2
# 7 Person Q 2013-08-01 11:08:00 No Group
# 8 Person R 2013-08-19 06:57:00 No Group
【问题讨论】:
-
谢谢,这样好些了吗?
-
Person Q 和 R 属于同一个
"No Group"? -
是的,然后我就放弃它们。我只对成组出现的人感兴趣,而不是单独出现。
标签: r combinations identification