几个月前,我写了一些代码来查找直到下一次就诊的日期以及自上次就诊以来的日期,以跟踪患者的病情并找出错过的约会。这段代码效果很好,给出了正确的天数(我手动验证了一个示例),但是现在不起作用。看起来好像“ Group_by()”命令被忽略了,它只是计算观察值之间的天数,因为它们按R顺序排列,而不是在每个分组的开始和结束都给出“ NA”。我想我只是很困惑为什么这行得通,但是后来停了下来。
代码:
dd5 <- dd5 %>%
arrange(PatientID, GroupingUid, VisitDate) %>%
group_by(GroupingUid) %>%
mutate(Days.Until.Next.Visit = as.numeric(lead(VisitDate) - VisitDate))
dd5 <- dd5 %>%
arrange(PatientID, GroupingUid, VisitDate) %>%
group_by(GroupingUid) %>%
mutate(Days.Since.Last.Visit = as.numeric(VisitDate - lag(VisitDate)))
更新:我尝试了取消分组,然后进行排列和重新分组,我尝试了进行分组,然后进行排列,并且我删除了as.numeric(),但是没有成功。
GroupingUID和PatientUID是我用来跟踪每个病人/伤害的唯一标识符。 GroupingUID和PatientID的每个组合都应分别计算天数。 VisitDate显然是日期。
83515888-E9C2-4B71-87EB-E954182DED88 1 8/22/2017 38 5
86169252-F2CD-4EDF-843F-6946AD45376A 1 9/29/2017 -56 38
B8498C0E-CF25-4F05-A7AC-DFECE1252183 1 8/4/2017 25 -56
BEABCA88-E3EB-4D48-B52B-D5639C527141 1 8/29/2017 2 25
DE7493C0-F72C-44D8-8469-9AA30662769D 1 8/31/2017 -2 2
EE720E94-9B1F-4350-A1B5-87E71BF40E35 1 8/29/2017 -32 -2
3970FF5F-4FEB-4509-A94E-0678000C505A 10 7/28/2017 0 -32
461BC1C4-F07C-4F42-BD8E-7545644FF4BA 10 7/28/2017 54 0
0656001E-2289-4B5D-B49A-CB6F57BD8E89 100 5/8/2018 7 13
0656001E-2289-4B5D-B49A-CB6F57BD8E89 100 5/15/2018 7 7
0656001E-2289-4B5D-B49A-CB6F57BD8E89 100 5/22/2018 -33 7
0286CDBF-1F52-4074-94B6-AE541E0DC9BF 10006 4/19/2018 6 -33
0286CDBF-1F52-4074-94B6-AE541E0DC9BF 10006 4/25/2018 8 6
0286CDBF-1F52-4074-94B6-AE541E0DC9BF 10006 7/12/2018 4 7
0286CDBF-1F52-4074-94B6-AE541E0DC9BF 10006 7/16/2018 -88 4
04A80019-561F-4CD4-B2D5-CAE059051750 10006 4/19/2018 6 -88
04A80019-561F-4CD4-B2D5-CAE059051750 10006 4/25/2018 8 6
F75FC4A1-587A-414E-BA35-9E5A6948F3FC 10006 6/28/2018 7 7
F75FC4A1-587A-414E-BA35-9E5A6948F3FC 10006 7/5/2018 7 7
F75FC4A1-587A-414E-BA35-9E5A6948F3FC 10006 7/12/2018 -300 7
09772AD1-2096-4C56-83AB-08CF9876ADDC 102 9/15/2017 7 -300
87C3C708-64F6-4321-9D98-F258B04B7E39 102 10/27/2017 7 7
87C3C708-64F6-4321-9D98-F258B04B7E39 102 11/3/2017 -49 7
BE2EFB0A-A1D8-49E6-88CF-D9818D1EF60D 102 9/15/2017 7 -49
BE2EFB0A-A1D8-49E6-88CF-D9818D1EF60D 102 9/22/2017 7 7
BE2EFB0A-A1D8-49E6-88CF-D9818D1EF60D 102 9/29/2017 14 7
BE2EFB0A-A1D8-49E6-88CF-D9818D1EF60D 102 10/13/2017 7 14
BE2EFB0A-A1D8-49E6-88CF-D9818D1EF60D 102 10/20/2017 7 7
BE2EFB0A-A1D8-49E6-88CF-D9818D1EF60D 102 10/27/2017 7 7
BE2EFB0A-A1D8-49E6-88CF-D9818D1EF60D 102 11/3/2017 -37 7
0B8DAD9F-2141-42A4-BBC8-F026DA4CB24A 103 9/27/2017 0 -37
440B3D2F-7E4E-42AE-9274-CCF751A10A94 103 9/27/2017 0 0
70112B85-7396-4A72-8853-B308D061383C 103 9/27/2017 0 0
889AB652-42C6-409F-A389-1CA96E66997B 103 9/27/2017 0 0
AAD6D986-80FE-4143-8ABF-BCADE73AB2EA 103 9/27/2017 0 0
C03778F8-1499-4FB0-99CC-D3A3B1143E4F 103 9/27/2017 0 0
C7E21544-96F4-46CB-87F5-11D882352FE0 103 9/27/2017 0 0
DD401067-3FCA-4828-8765-635E82181D1E 103 9/27/2017 0 0
F873284F-B86E-47CA-BA68-3AD4650CD72F 103 9/27/2017 -6 0
0B1CC77A-BADC-4971-AB14-7A5FB982DC4C 104 9/21/2017 7 -6
0B1CC77A-BADC-4971-AB14-7A5FB982DC4C 104 9/28/2017 14 7
0B1CC77A-BADC-4971-AB14-7A5FB982DC4C 104 10/12/2017 0 14
352F0DFE-C06F-46CC-AFE5-F6B8929FB31B 104 10/12/2017 -14 0
答案 0 :(得分:0)
在我的原始代码中,我使用以下软件包来完成几件事:
library(stringi)
library(stringr)
library(lubridate)
library(plyr)
library(dplyr)
library(tidyverse)
library(viridis).
看来tidyverse抑制了dpylr的突变功能。删除所有软件包,然后在计算似乎已解决问题后调用它们。