2012-12-12 47 views
0

我有兩個數據幀(df)共享名爲plot.id的列標題。在第一個df中,plot.id記錄根據每個繪圖內監視的樹木數量重複可變的次數。第二個df對於每個plot.id只有一個記錄,並且包含一個名爲load的變量,該變量在情節級別(不是像第一個df中的樹級別)中收集,因此僅在每個情節記錄中列出一次。基於向量中的計數重複矩陣元素

目的:我需要重複第二次df的load值,這取決於第一次df中重複plot.id的次數(所有的圖都重複了不同的次數)。我的例子DFS低於:

df1 <- data.frame(plot.id = rep(c("plot1", "plot2", "plot3"), c(3,2,5)), 
      tree.tag = c(111,112,113,222,223,333,334,335,336,337)) 

df2 <- data.frame(plot.id = c("plot1", "plot2", "plot3"), load=c(17, 6, 24)) 

我已經接近了解決這個,但可惜我對問題的拍攝的第2天,並不能得到它!

回答

0

match使用:

df2[match(df1$plot.id,df2$plot.id),] 

的上述結果是:

plot.id load 
1  plot1 17 
1.1 plot1 17 
1.2 plot1 17 
2  plot2 6 
2.1 plot2 6 
3  plot3 24 
3.1 plot3 24 
3.2 plot3 24 
3.3 plot3 24 
3.4 plot3 24