我想我有一个新颖的问题,尽管我可能会尝试,但我无法解决。我已经使用这个网站几个月来学习 R 并且能够解决我迄今为止遇到的所有问题。我正在进行一项大型回顾性队列研究,可以说我们的样本看起来像这样:
my.df <- data.frame(ID = sample(c(1,2,3), 10, replace = TRUE),
Date = seq(as.Date("2012-08-01"),
as.Date("2012-11-01"), 1)[sample(1:10, 10)],
ICD = c( 401.3, 401.3, 250.02, 250.02, 110.1,
110.1, 250.02, 250.02, 250.02,112.1))
我需要做的是在连续两次访问中选择具有特定诊断的 ID(比如说 250.02)。为了做到这一点,我使用了类似的代码:
my.df<-with(my.df, my.df[order(ID,(as.Date(Date))), ])
根据日期组织数据,然后按 ID 分组。我认为,我的下一步是编写一个循环函数或使用 ddply 编写一个函数来选择具有相同 ICD 代码的连续日期。第一个问题是我正在使用具有非常大数据集的蹩脚计算机,我担心循环函数会占用大量内存,计算机会冻结或崩溃。第二个问题是,到目前为止,我主要通过矢量化数据来工作,而我的循环/函数编程技能充其量是缺乏的。任何有关如何有效解决此问题的建议将不胜感激。