感謝大家對processing of hospital admission data using R這個問題提出的建議,我對這個問題有其他問題,實際上應該是這個問題之前的任務。使用R處理醫院門診數據(第二部分)
現在我有一個這樣的數據集:
Patient_ID Date Ward
P001 1 A
P001 2 A
P001 3 A
P001 4 A
P001 4 B
P001 5 B
P001 6 B
P001 7 B
P001 7 C
P001 8 B
P001 9 B
P001 10 B
我需要將其轉換成:
Patient_ID Date Ward
P001 1 A
P001 2 A
P001 3 A
P001 4 A;B
P001 5 B
P001 6 B
P001 7 B;C
P001 8 B
P001 9 B
P001 10 B
目前我一直在使用ddply
轉換它,代碼如下附:
data <- ddply(data,
c("Patient_ID", "Date"),
function(df)
{data.frame(Ward=paste(unique(df[,"Ward"]),collapse=";"))
},
.progress="text"
)
這可以解決我的問題,但它非常慢(超過20分鐘在P4 3.2 mac hine)當數據集有8818 unique(Patients_ID)
和1861 unique(Date)
。我該如何改進?謝謝!