0
我有一個數據幀,其中包含一個變量,該級別出現多次,第二個數據幀包含此變量的唯一級別的代碼。我想將包含代碼的列添加到我的數據框中。這可以通過一個例子來最好地說明:根據行名稱將列合併到一個數據幀
f1 <- rep(c("A","B","C"), each = 3)
df1 <- data.frame(f1,v1=runif(9))
f1 v1
1 A 0.83523506
2 A 0.13833162
3 A 0.15354252
4 B 0.62046499
5 B 0.27823892
6 B 0.04629973
7 C 0.85571269
8 C 0.10963561
9 C 0.70576556
df2 <- data.frame(f1=c("A","B","C"), n1=c("sp1","sp2","sp3"))
f1 n1
1 A sp1
2 B sp2
3 C sp3
df3 <- data.frame(f1=rep(c("A","B","C"),each = 3),n1=rep(c("sp1","sp2","sp3"),each =3),v1=df1$v1)
f1 n1 v1
1 A sp1 0.83523506
2 A sp1 0.13833162
3 A sp1 0.15354252
4 B sp2 0.62046499
5 B sp2 0.27823892
6 B sp2 0.04629973
7 C sp3 0.85571269
8 C sp3 0.10963561
9 C sp3 0.70576556
我想找到一個函數來獲取df3。
非常感謝你,它完美的作品。 – user34771 2014-09-04 15:26:27
它似乎有效,但在檢查結果後,我注意到由於合併df而出現了一些NA值。可能是因爲要合併的變量的級別不是相同的順序?如何充分發揮? – user34771 2014-09-04 15:47:42
好吧,你需要製作一個更長的例子。不管你的dfs在什麼順序都不重要,因爲合併在工作時執行排序。您可以嘗試合併(df1,df2,by =「f1」),以便對您正在合併的變量進行超級特定。 – jalapic 2014-09-04 16:03:30