R에서 그룹당 관측치를 계산하는 방법


종종 R에서 그룹당 관측치 수를 계산하는 데 관심이 있을 수 있습니다.

다행히 dplyr 라이브러리의 count() 함수를 사용하면 이 작업을 쉽게 수행할 수 있습니다.

이 튜토리얼에서는 다음 데이터 프레임을 사용하여 이 기능을 실제로 사용하는 몇 가지 예를 설명합니다.

 #create data frame
df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C' , 'CC'),
                 position = c('G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F', 'F '),
                 points = c(4, 13, 7, 8, 15, 15, 17, 9, 21, 22, 25, 31))

#view data frame
df

   team position points
1 GA 4
2 AG 13
3AF 7
4 BG 8
5 BF 15
6 BF 15
7 BF 17
8 BG 9
9 GC 21
10 CF 22
11 CF 25
12 CF 31

예시 1: 변수로 계산하기

다음 코드는 팀당 총 플레이어 수를 계산하는 방법을 보여줍니다.

 library (dplyr)

#count total observations by variable 'team'
df %>% count(team)

# A tibble: 3 x 2
  team n
   
1 to 3
2 B 5
3 C 4

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

  • A팀은 3명의 선수로 구성됩니다.
  • B팀은 5명의 선수로 구성됩니다.
  • C팀은 4명의 선수로 구성됩니다.

이 단일 count() 함수는 팀당 플레이어 분포에 대한 좋은 아이디어를 제공합니다.

원하는 경우 개수를 정렬 할 수도 있습니다.

 #count total observations by variable 'team'
df %>% count(team, sort= TRUE )

# A tibble: 3 x 2
  team n
   
1 B 5
2 C 4
3 to 3

예시 2: 여러 변수로 계산

여러 변수를 기준으로 정렬할 수도 있습니다.

 #count total observations by 'team' and 'position'
df %>% count(team, position)

# A tibble: 6 x 3
  team position n
       
1 AF 1
2 AG 2
3 BF 3
4 BG 2
5 CF 3
6 GC 1

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

  • A팀에는 “F”(포워드) 포지션에 1명의 선수와 “G”(가드) 포지션에 2명의 선수가 있습니다.
  • B팀은 F(포워드) 포지션에 3명, G(가드) 포지션에 2명이 있다.
  • C팀은 F(포워드) 포지션에 3명, G(가드) 포지션에 1명이 있다.

예시 3: 가중치가 부여된 숫자

또한 한 변수의 개수에 다른 변수를 “가중”할 수도 있습니다. 예를 들어 다음 코드는 “points” 변수를 가중치로 사용하여 팀당 총 관찰 수를 계산하는 방법을 보여줍니다.

 df %>% count(team, wt= points )

# A tibble: 3 x 2
  team n
   
1 to 24
2 B 64
3 C 99

여기서 count() 함수에 대한 전체 문서를 찾을 수 있습니다.

의견을 추가하다

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