공통 식별자와 특정 열을 기준으로 값을 행 비례 분할, 나는 보이는 데이터 프레임을 가지고 같은 :는 데이터 프레임 병합 처리 후
여행이 낚시 여행을 나타냅니다df <- data.frame(trip=c(315,328,422,422,458,652,652,652,699),
catch_kg=c(10,8,12,2,26,4,18,14,11),
age_1=c(0,0,0,0,0,0,0,0,0),
age_2=c(2,1,7.5,7.5,8,11,11,11,13),
id=c(1,2,3,3,4,5,5,5,6))
trip catch_kg age_1 age_2 id
315 10 0 2 1
328 8 0 1 2
422 12 0 7.5 3
422 2 0 7.5 3
458 26 0 8 4
652 4 0 11 5
652 18 0 11 5
652 14 0 11 5
699 11 0 13 6
, catch_kg는 (kg)에서 잡은 물고기의 양, age_1 & age_2 각 여행 및 연령 집단 별 개인의 수이며, ID 각 여행에서 운반 ID를 나타냅니다.
낚시 여행 중에는 1 개 이상의 운행 거리가 있습니다. id 열에서 액세스 할 수 있습니다. 1 개 이상의 운행을하는 여행의 경우 동일한 ID 번호를 사용합니다. 예 : 여행 번호 422에는 두 hauls (id = 3)가 있습니다.
지금이 순간에, 1 개 이상의 운행을하는 여행의 경우, 각 연령 그룹의 개인 수를 해당 여행 내에서 보이는 밧줄 수로 똑같이 나눈 값이 있습니다. 예를 들어 여행 422에는 총 15 명의 개인이 있지만 2 개의 달랑이가 있기 때문에이 수를 2로 나눠서 1 인당 7.5 명의 개인을 산출합니다.
그러나 내가 원하는 것은 각 연령 그룹 내의 전체 캐치의 비율로 각 연령 그룹 내의 개인 수를 계산하는 것입니다. 이 여행 (422) (2 hauls도)에 대한 예를 들어, 내가있을 것 세 가지 계산의 규칙은 기본적으로
trip catch_kg age_1 age_2 id
315 10 0 2 1
328 8 0 1 2
422 12 0 13 3
422 2 0 2 3
458 26 0 8 4
652 4 0 4 5
652 18 0 16 5
652 14 0 13 5
699 11 0 13 6
: 같은 따라서, 마지막에 나는 보이는 데이터 프레임을 가지고 싶습니다 다음의 계산 :
haul1 : 12 * (7.5 + 7.5)/(12 + 2) = 13 개인 haul2 : 2 * (7.5 + 7.5)/(12 + 2) = 2 개인
있는가 이 계산을 계산하는 쉬운 방법? 도움을 주시면 감사하겠습니다.
-M