多個條件,我有兩個dataframes:合併對R中
df1 <- data.frame(pt = c("pt1153", "pt1153", "pt1153", "pt1154", "pt1155", "pt1156"),
phys = c("p10", "p616", "p850", "p899", "p709", "p892"))
df2<- data.frame(sender = c("p10", "p10", "p100", "p100", "p102", "p103"),
s.type = c(11,11,21,21,11, 21),
receiver = c("p616", "p850", "p235", "p388", "p596", "p696"),
r.type = c(21,31,11,11,31,31),
shared.pts = c(1,1,1,1,1,1))
我想
sender s.type receiver r.type shared.pts pts
p10 11 p616 21 1 p1153
p10 11 p850 31 1 p1153
結束了,但我無法弄清楚如何做到這一點。我嘗試合併,然後使用ddply,但沒有奏效。我也嘗試過應用程序,但無法弄清楚要做什麼功能。
合併dfs是不夠的。我有必要根據DF1
每個共享列「PTS」的成員合併它們雖然我似乎無法重現我的問題,當我使用合併我結束了:
p.sender.id p.receiver.type Source.total.pts p.receiver.id p.sender.type Target.total.pts shared.pts patient.id
1 p10 21 6 p616 11 3 1 pt2439
2 p10 21 6 p616 11 3 1 pt1870
3 p10 21 6 p616 11 3 1 pt1153
4 p10 21 6 p616 11 3 1 pt64
5 p10 21 6 p616 11 3 1 pt1626
6 p10 21 6 p616 11 3 1 pt941
7 p10 31 6 p850 11 10 1 pt2439
8 p10 31 6 p850 11 10 1 pt1870
9 p10 31 6 p850 11 10 1 pt1153
10 p10 31 6 p850 11 10 1 pt64
當p10和p616只共享一個pt時。 pt1153
我得到這個錯誤,當我試試這個方法:'錯誤list_to_dataframe(RES,ATTR(。數據, 「split_labels」)):結果不具有相等lengths' – crock1255
@ crock1255我不打算花時間回答一個問題,然後回答。 – joran
我沒有意識到我的例子不會重現我得到的同樣的錯誤。我試圖用數據輸入保存一些步驟。如果我對這個問題沒有遺漏,我不會問董事會。我很欣賞時間,但如果我意識到答案不會回答我最初想要回答的問題,就不會重做這個例子。 – crock1255