2012-12-12 2 views
0

plot.id이라는 열 머리글을 공유하는 두 개의 데이터 프레임 (df)이 있습니다. 첫 번째 df에서 plot.id 레코드는 각 플롯 내에서 모니터링되는 트리 수를 기준으로 가변 횟수 반복됩니다. 두 번째 df는 각 plot.id에 대한 단일 레코드 만 가지고 플롯 수준 (첫 번째 df와 같은 트리 수준이 아님)에서 수집 된 load이라는 변수를 포함하므로 플롯 레코드 당 한 번만 나열됩니다.벡터의 수를 기반으로 행렬 요소를 반복합니다.

목표 : plot.id이 첫 번째 df에서 반복되는 횟수 (모든 플롯이 다른 횟수만큼 반복됨)를 기준으로 두 번째 df에서 load 값을 반복해야합니다.

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에있어 및 아아 그것을 얻을 수 없습니다 내 예를 들어, DFS는 다음과 같습니다!

답변

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 
관련 문제