【发布时间】:2019-10-24 08:56:17
【问题描述】:
我有一个包含 3 列 ID、时间和类型的数据;我需要添加一个名为“categroy”的列,输出示例数据如下:
> dput(DF1)
structure(list(ID = c("104 - 2019-06-03", "104 - 2019-06-03",
"104 - 2019-06-03", "104 - 2019-06-03", "104 - 2019-06-03", "104 - 2019-06-03",
"104 - 2019-06-03", "104 - 2019-06-03", "104 - 2019-06-03", "104 - 2019-06-03",
"104 - 2019-06-03", "111 - 2019-05-31", "111 - 2019-05-31"),
Time = c("11:17:01", "12:48:51", "13:54:09", "14:14:46",
"14:19:46", "14:32:46", "14:19:27", "14:35:12", "15:30:22",
"15:31:22", "16:29:12", "09:31:53", "09:31:56"), Type = c("IN",
"Out", "IN", "IN", "IN", "IN", "Out", "Out", "IN", "IN",
"Out", "IN", "Out"), Category = c("Include", "Include", "Include",
"Exclude", "Exclude", "Exclude", "Exclude", "Include", "Include",
"Exclude", "Include", "Include", "Include")), row.names = c(NA,
-13L), class = c("tbl_df", "tbl", "data.frame"))
作为按时间和ID排序的滑动数据,需要考虑是否将人标记为“IN”然后“Out”使其成为一个正确的条目。如果按顺序发生,我将 IN 和 OUT 都标记为“包含”。有时,有多个连续的 IN 和 OUT 条目,在这些情况下,我将第一个“IN”标记为包含,将“最后一个“OUT”标记为包含。条目之间的中间标记为 exclude。谢谢!
【问题讨论】:
-
也许您可以解释一下用于将条目分类为包含或排除的规则,并展示您已经尝试过的内容。