Select 之前观察的日期并将其输入到 R 中的新列中
Select date from a previous observation and input it into a new column in R
我正在处理病人的健康记录,并试图从第一次就诊中找到最后一次就诊,下面是数据框:-
patient_id admit_date
P1 05/1/2015
P2 09/10/2015
P1 08/5/2015
P1 09/10/2015
P2 12/1/2015
输出应该是:-
patient_id admit_date last_visit
P1 05/1/2015 NA
P2 09/10/2015 NA
P1 08/5/2015 05/1/2015
P1 09/10/2015 08/5/2015
P2 12/1/2015 09/10/2015
我正计划使用 dplyr 方法:-
raw_data %>%
group_by(patient_id) %>% mutate(last_visit= )
我在变异部分需要一些指导。
首先,将日期格式转换为正确的日期,然后使用lag
返回一个时间段:
library(dplyr)
rawdata %>% group_by(patient_id) %>%
mutate(admit_date = as.Date(admit_date, format = "%d/%m/%Y"),
last_visit = lag(admit_date))
Source: local data frame [5 x 3]
Groups: patient_id [2]
patient_id admit_date last_visit
(fctr) (date) (date)
1 P1 2015-01-05 <NA>
2 P2 2015-10-09 <NA>
3 P1 2015-05-08 2015-01-05
4 P1 2015-10-09 2015-05-08
5 P2 2015-01-12 2015-10-09
你的日期不明确 - 如果你有 d-m-y 这是正确的,否则将格式参数更改为 "%m/%d/%y"
我正在处理病人的健康记录,并试图从第一次就诊中找到最后一次就诊,下面是数据框:-
patient_id admit_date
P1 05/1/2015
P2 09/10/2015
P1 08/5/2015
P1 09/10/2015
P2 12/1/2015
输出应该是:-
patient_id admit_date last_visit
P1 05/1/2015 NA
P2 09/10/2015 NA
P1 08/5/2015 05/1/2015
P1 09/10/2015 08/5/2015
P2 12/1/2015 09/10/2015
我正计划使用 dplyr 方法:-
raw_data %>%
group_by(patient_id) %>% mutate(last_visit= )
我在变异部分需要一些指导。
首先,将日期格式转换为正确的日期,然后使用lag
返回一个时间段:
library(dplyr)
rawdata %>% group_by(patient_id) %>%
mutate(admit_date = as.Date(admit_date, format = "%d/%m/%Y"),
last_visit = lag(admit_date))
Source: local data frame [5 x 3]
Groups: patient_id [2]
patient_id admit_date last_visit
(fctr) (date) (date)
1 P1 2015-01-05 <NA>
2 P2 2015-10-09 <NA>
3 P1 2015-05-08 2015-01-05
4 P1 2015-10-09 2015-05-08
5 P2 2015-01-12 2015-10-09
你的日期不明确 - 如果你有 d-m-y 这是正确的,否则将格式参数更改为 "%m/%d/%y"