【发布时间】:2022-01-22 03:43:49
【问题描述】:
假设我有一个如下所示的数据集,然后,我继续通过使用 NU_DN 和 DATE_HOSP 排列行来对行进行分组:
NU_DN <- c("55284765", "55293825" , "55284765", "55293825", "55318351", "55293825")
DATE_HOSP <- c("2012-05-08", "2012-06-17", "2012-09-13", "2012-01-13", "2012-01-10", "2012-05-04" )
MOTIV <- c("2.1 - Reason 1", "1.2 - Reason 3", "6.7 - Reason 8", "2.2 - Reason 2", "3.3 - Reason 4", "6.9 - Reason 10")
data <- as.data.frame(cbind(NU_DN, DATE_HOSP, MOTIV))
data <- data %>%
arrange(NU_DN, DATE_HOSP)%>%
type.convert(as.is = TRUE)%>%
group_by(NU_DN) %>%
ungroup()
完成后,我得到以下数据框:
NU_DN DATE_HOSP MOTIV
55284765 2012-05-08 2.1 - Reason 1
55284765 2012-09-13 6.7 - Reason 8
55293825 2012-01-13 2.2 - Reason 2
55293825 2012-05-04 6.9 - Reason 10
55293825 2012-06-17 1.2 - Reason 3
55318351 2012-01-10 3.3 - Reason 4
如果“MOTIV”以 2 或 3 开头,我想要做的是选择集群的下一行。因此,如果 NU_DN 55293825 的 MOTIV 是“2.2 - 原因 2”,我想选择下一行它的 MOTIV 是“6.9 - 原因 10”和“1.2 - 原因 3”。我想要的输出如下:
NU_DN DATE_HOSP MOTIV
55284765 2012-09-13 6.7 - Reason 8
55293825 2012-05-04 6.9 - Reason 10
55293825 2012-06-17 1.2 - Reason 3
有什么办法可以做到吗?
【问题讨论】: