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 天,无法解决!

4

1 回答 1

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
于 2013-07-06T14:35:26.873 回答