A: 조건에 따라 그룹화하고 계산하는 방법


다음 기본 구문을 사용하여 R에서 그룹화 및 계산 조건을 수행할 수 있습니다.

 library (dplyr)

df %>%
  group_by(var1) %>%
  summarize(count = sum(var2 == ' val '))

이 특정 구문은 var1을 기준으로 데이터 프레임의 줄을 그룹화한 다음 var2가 “val”과 같은 줄 수를 계산합니다.

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

예: R의 조건을 사용하여 그룹화 및 개수 계산

다양한 농구 선수에 대한 정보를 포함하는 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 pos=c('Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28))


#view data frame
df

  team pos points
1 A Gu 18
2 A Fo 22
3 A Fo 19
4 A Fo 14
5 B Gu 14
6 B Gu 11
7 B Fo 20
8 B Fo 28

다음 코드는 변수별로 데이터 프레임을 그룹화하고 pos 변수가 “Gu”인 행 수를 계산하는 방법을 보여줍니다.

 library (dplyr)

#group by team and count rows where pos is 'Gu'
df %>%
  group_by(team) %>%
  summarize(count = sum(pos == ' Gu '))

# A tibble: 2 x 2
  team count
   
1 to 1
2 B 2

결과에서 우리는 다음을 볼 수 있습니다:

  • A팀에는 pos 열이 “Gu”와 동일한 행이 1 개 있습니다.
  • B팀에는 pos 열이 “Gu”와 동일한 2개의 행이 있습니다.

유사한 구문을 사용하여 숫자 조건으로 그룹화하고 개수를 계산할 수 있습니다.

예를 들어 다음 코드는 변수별로 그룹화하고 포인트 변수가 15보다 큰 행 수를 계산하는 방법을 보여줍니다.

 library (dplyr)

#group by team and count rows where pos is 'Gu'
df %>%
  group_by(team) %>%
  summarize(count = sum(points > 15 ))

# A tibble: 2 x 2
  team count
   
1 to 3
2 B 2

결과에서 우리는 다음을 볼 수 있습니다:

  • A팀에는 포인트 열이 15보다 큰 라인이 3 개 있습니다.
  • B팀에는 포인트 열이 15보다 큰 라인이 2 개 있습니다.

비슷한 구문을 사용하여 원하는 특정 조건으로 그룹화하고 계산할 수 있습니다.

추가 리소스

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

R에서 조건이 있는 열의 값을 계산하는 방법
R에서 그룹별로 처음 N 값을 선택하는 방법

의견을 추가하다

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