【发布时间】:2019-08-17 07:43:25
【问题描述】:
我有 2 个输入列,例如 Visit_start_date、Visit_type 和一个输出列 - Visit_end_date
我需要根据以下条件填写 Visit_end_date 列的值
如果 visit_type 列具有“门诊”或“紧急情况”等值,则 visit_end_date 与 visit_start_date 相同(等于)。如果不匹配,那么我可以从另一列(出院日期)中选择一些随机值
我已经尝试过了,不幸的是,在 visit_end_date 列中得到了一个像“72842”这样的数字。它必须是日期格式。
请注意,数据框中的录取日期格式为“6/8/2169”,出院日期格式为“85466.75694”
DF %>%
mutate(visit_start_date = as.Date(.$Admit_Date,format = "%m/%d/%Y")) %>% #dates in raw file are in the format as specified in the code
mutate(visit_end_date = ifelse((.$Enc_Type == 'Outpatient'|.$Enc_Type == 'Emergency'),visit_start_date, as.Date(.$Discharge_Date,origin ='1970-01-01')))}
我希望在 visit_start_date 和 visit_end_date 列中的输出都是“2169-06-08”。目前,visit_start_date 为“2169-06-08”,visit_end_date 为 72842,如下图所示。
请找到dput命令输出
结构(列表(Admit_Date = c(“6/8/2169 9:40”,“6/8/2169 9:41”, “6/8/2169 9:42”、“7/24/2169 8:51”、“9/12/2169 10:30”、“6/19/2237 12:15”、 “6/19/2237 12:15”、“6/19/2237 12:15”、“4/27/2238 14:07”、“4/27/2238 14:07” ), Discharge_Date = c(85466.75694, 85466.75694, 85466.75694, 85466.75694、85466.75694、85466.75694、85466.75694、85466.75694、 85466.75694, 85466.75694), Discharge_Disposition = c(NA_character_, NA_character_,NA_character_,NA_character_,NA_character_,NA_character_, NA_character_,NA_character_,NA_character_,NA_character_), Enc_Type = c("门诊", "门诊", "门诊", "门诊", “门诊”、“门诊”、“门诊”、“门诊”、“门诊”、 "门诊"), Service = c("OVS / Eye", "Med / DM", "Med / DM", “Med / Renal”、“Med / DM”、“Dental / Dental Surg”、“Dental / Dental Surg”、 “牙科 / 牙科外科”、“OVS / 眼睛”、“OVS / 眼睛”)), row.names = c(NA, -10L), class= c("tbl_df", "tbl", "data.frame"))
【问题讨论】:
-
您确定日期转换正确吗?你真的在看未来 150-200 年的数据吗?
-
是的。它是故意这样做的。但问题出在上面的代码上,我在 Visit_end_date 中没有得到相同的值