2016-09-09 3 views
0

sapply (또는 유사한 기능)을 사용하여 데이터 세트에서 여러 기준과 일치하는 모든 값을 합산하려고합니다.여러 기준과 일치하는 데이터 프레임의 모든 값을 어떻게 합계합니까?

특정 일치에 대한 코드를 작성할 수 있었지만 데이터 프레임의 모든 고유 일치에 R을 적용하는 방법을 모르겠습니다.

tmp <- subset(df, col1 == "a" & col2==1) 
sum(tmp[,3]) 

이 코드가 제대로 합계 25 반환 : 예를 들어

내 데이터 프레임이 3 열 여기

col1 <- c("a", "a", "a", "b", "b", "b", "b", "b", "b") 
col2 <- c(1, 1, 1, 2, 2, 2, 1, 1, 1) 
col3 <- c(10, 5, 10, 5, 5, 1, 3, 4, 5) 
df <- data.frame(col1, col2, col3) 

로 구성되어 있다면 하나의 일치를 사용하고 코드입니다 col3subset 함수의 2 가지 기준과 일치합니다.

데이터 프레임의 3 가지 고유 한 조합에 대해 어떻게 계산합니까? 다음 출력물을 찾고 있습니다.

col1 col2 sum_col3 
a  1 25 
b  1 12 
b  2 11 

미리 도움을 주셔서 감사합니다.

+1

표준 접근 방식은'aggregate'이 될 것입니다. 또한 여기 좀보세요 : http://stackoverflow.com/questions/1660124/how-to-sum-a-variable-by-group –

답변

0

여기 당신이 시도 할 수있는 작업은 다음과 같습니다? 기본 R에

> result <- aggregate(col3 ~ col1 + col2 , df, sum) 
> result 
    col1 col2 col3 
1 a 1 25 
2 b 1 12 
3 b 2 11 
+0

감사. 나는 집계 함수를 알지 못했다. 그것은 트릭을했다. – jacoby

관련 문제