最後我想創造漂亮的,但要去那裏我需要顯示從A到B,B到C和B到A等的人數。數據準備顯示運輸中的號碼
我的數據集:
#Generate some sample data:
proc<-sample(c("EMR","RFA","Biopsies"), 100, replace = TRUE)
#Sample dates
dat<-sample(seq(as.Date('2013/01/01'), as.Date('2017/05/01'), by="day"), 100)
#Generate 20 hospital numbers in no particular order:
Id<-sample(c("P43","P63","K52","G24","S55","D07","U87","P22","Y76","I92","P22","P02","U22415","U23","S14","O34","T62","J32","F63","T43"), 100, replace = TRUE)
df<-data.frame(proc,dat,Id)
如果我準備數據的Snakey的情節,我會做:
Sankey<-dcast(setDT(df)[, if(any(proc=="EMR"|proc=="RFA")) .SD, Id], Id~rowid(Id), value.var ="proc")
這會給我一個很好的表顯示了在每個T會怎麼樣每個病人點按順序。
但是我想要進入下一步,即找出每種不同proc
類型(即「EMR」,「RFA」和「活檢組織」)之間的患者數量,以便我可以得到它們成circlize希望,即格式(頻率由這裏)
origin destination frequency
EMR RFA 14
EMR Biopsies 4
EMR EMR 10
RFA RFA 24
RFA Biopsies 42
RFA EMR 1
Biopsies RFA 3
Biopsies Biopsies 6
Biopsies EMR 16
或我想以另一種方式展現這將是
destination
EMR RFA Biopsies
origin
EMR 10 14 4
RFA 1 24 42
Biopsies 16 3 6
確定@David獲得積分。我也想出了另一個答案 –
當然,你也可以使用data.table或其他任何格式:) – David