R의 조건에 따라 열을 합산하는 방법


다음 기본 구문을 사용하여 R의 조건에 따라 열을 합산할 수 있습니다.

 #sum values in column 3 where col1 is equal to 'A'
sum(df[ which (df$col1==' A '), 3])

다음 예에서는 다음 데이터 프레임에서 실제로 이 구문을 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (conference = c('East', 'East', 'East', 'West', 'West', 'East'),
                 team = c('A', 'A', 'A', 'B', 'B', 'C'),
                 points = c(11, 8, 10, 6, 6, 5),
                 rebounds = c(7, 7, 6, 9, 12, 8))

#view data frame
df

  conference team points rebounds
1 East A 11 7
2 East A 8 7
3 East A 10 6
4 West B 6 9
5 West B 6 12
6 East C 5 8

예시 1: 조건에 따라 열 추가

다음 코드는 팀이 “A”인 행에 대한 점수 열의 합계를 찾는 방법을 보여줍니다.

 #sum values in column 3 (points column) where team is equal to 'A'
sum(df[ which (df$team==' A '), 3])

[1] 29

다음 코드는 포인트가 9보다 큰 행에 대한 바운스 열의 합계를 찾는 방법을 보여줍니다.

 #sum values in column 4 (rebounds column) where points is greater than 9
sum(df[ which (df$points > 9), 4])

[1] 13

예 2: 여러 조건을 기반으로 열 추가

다음 코드는 팀이 “A” 이고 컨퍼런스가 “East”인 행에 대한 포인트 열의 합계를 찾는 방법을 보여줍니다.

 #sum values in column 3 (points column) where team is 'A' and conference is 'East'
sum(df[ which (df$team==' A ' & df$conference==' East '), 3])

[1] 29

& 연산자는 R에서 “and”를 의미합니다.

예 3: 여러 조건 중 하나를 기반으로 열 추가

다음 코드는 팀이 “A” 또는 “C”인 행에 대한 점수 열의 합계를 찾는 방법을 보여줍니다.

 #sum values in column 3 (points column) where team is 'A' or 'C'
sum(df[ which (df$team == ' A ' | df$team ==' C '), 3])

[1] 34

| 연산자는 R에서 “또는”을 의미합니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 기능을 수행하는 방법을 설명합니다.

R의 특정 열을 합산하는 방법
R에서 특정 행을 합산하는 방법
R에서 그룹별 합계를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다