我想繪製兩種類型的值(dupl和orig)。是否可以輕鬆重塑以下數據幀在R中,使用熔體重塑「混合」數據幀並鑄造
record=c("r1","r1","r2","r3","r3")
v1=rep(0,5)
v2=c(0,0,1,0,0)
v3=c(1,1,0,1,1)
type=c("orig","dupl","orig","orig","dupl")
df<-data.frame(record, v1, v2, v3, type)
df
record v1 v2 v3 type
1 r1 0 0 1 orig
2 r1 0 0 1 dupl
3 r2 0 1 0 orig
4 r3 0 0 1 orig
5 r3 0 0 1 dupl
看起來像這樣?
record v1.orig v2.orig v3.orig v1.dupl v2.dupl v3.dupl
r1 0 0 1 0 0 1
r2 0 1 0
r3 0 0 0 0 0 0
這個問題的關鍵是我可以做一個vX.orig vs vX.dupl的陰謀。還是有更好的方法來做到這一點? 我正在看dcast(),但似乎無法得到我想要的,可能是因爲我的數據只是部分熔化(沿着類型?)。
編輯:這裏是我已經試過:
df1<-melt(df,id="record")
dcast(df1,record~value, margins=TRUE)
可以這樣概括它不以「V」開始列使用
recast
另一種選擇? ...在我的真實場景中,我希望所有列(40)都重複爲「_dupl」。 – val確定您可以將該部分調整爲其他'dplyr :: select()'術語,使用'reshape2'檢查替代編輯 – Nate