我有这样的数据集:
Patient_ID Lab_No Discharge_Date
P0001 L001 2010-01-01
P0001 L002
P0001 L003
P0001 L004
我有一些来自同一患者的实验室数据,一些实验室数据没有它应该具有的出院日期。我需要将丢失的放电日期放入其中,目前我正在使用以下代码:
temp <- ddply(temp,
c("Patient_ID"),
function(df)
{
df[,"Discharge_Date"] <- unique(df[!is.na(df[,"Discharge_Date"]),"Discharge_Date"])
data.frame(df)
},
.progress="text"
)
但这很慢(数据集有92528行,70527独特的patient_id),我怎样才能加快速度?感谢。
答案 0 :(得分:1)
temp2 <- na.omit(temp) ## create unique discharge date x patient ID list
temp3 <- merge(temp[1:2], temp2[c(1,3)], by="Patient_ID") ## merge