致所有 R 专家..
我有一个地区的 60000 个心血管疾病(CVD)条目的数据集。数据主要包括:患者编号、他来保健中心的日期以及他所在的村庄、他的保健中心等许多其他变量。
基于每个患者在一年内只允许访问一次的定义,我想将其应用于数据集。也就是说,如果这次访问是新的(一年中的第一次访问)或后续访问(一年中的重复访问),我想在每个患者旁边分配。这是我的 str() 数据。
> str(cvd1)
'data.frame': 59686 obs. of 51 variables:
$ Age : num 3532642 3555351 3575931 3599113 3622295 ...
$ Centre : Factor w/ 8 levels "L","M","N","SH",..: 2 2 2 2 2 2 2 2 2 2 ...
$ Date : Date, format: "2006-11-21" ...
$ DoB : Date, format: "1966-01-01" ...
$ Ptnum : Factor w/ 7469 levels "5011","5057",..: 4398 2105 2105 2105 2105 4352 1304 1304 1304 1304 ...
$ Sex : Factor w/ 3 levels "F","M","UNKNOWN": 1 1 1 1 1 2 1 1 1 1 ...
这只是一个例子来说明我想要做什么:
list = 1:8
Ptnum = c(1,2,1,4,1,2,1,3)
date = c("01/01/2000", "01/01/2000","24/02/2000", "26/03/2006", "04/05/2001",
"05/05/2007","05/05/2001","05/05/2007")
cvddata = data.frame(Ptnum, date)
将日期格式化为 R 日期对象
cvddata$date = dmy(date)
所以,ptnum(1),第一次访问是新病例,ptnum(1)的第三次访问是(跟进,,一年内到来)。ptnum(1) 的第 5 次访问是(新的,在他第一次访问一年之后),但他的第 7 次访问是(跟进,因为他在距离上一次访问不到一年的时间内,即 2001 年 4 月 5 日)。
谢谢你