R에서 n() 함수를 사용하는 방법(예제 포함)


R의 dplyr 패키지에 있는 n() 함수를 사용하여 그룹의 관측치 수를 계산할 수 있습니다.

실제로 이 기능을 사용하는 세 가지 일반적인 방법은 다음과 같습니다.

방법 1: n()을 사용하여 그룹별 관측값 계산

 df %>%
  group_by(group_variable) %>%
  summarize(count = n())

방법 2: n()을 사용하여 그룹별 관측치를 표시하는 열을 추가합니다.

 df %>%
  group_by(group_variable) %>%
  mutate(count = n())

방법 3: n()을 사용하여 그룹별 관찰을 기반으로 필터링

 df %>%
  group_by(group_variable) %>%
  filter(n() > 15 )

다음 예에서는 다양한 농구 선수에 대한 정보가 포함된 R의 다음 데이터 프레임을 사용하여 실제로 각 메서드를 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C'),
                 points=c(22, 25, 25, 20, 29, 13),
                 assists=c(10, 12, 9, 4, 11, 10),
                 rebounds=c(9, 8, 5, 10, 14, 12))

#view data frame
df

  team points assists rebounds
1 A 22 10 9
2 A 25 12 8
3 to 25 9 5
4 B 20 4 10
5 B 29 11 14
6 C 13 10 12

예 1: n()을 사용하여 그룹별로 관측값 계산

다음 코드는 n() 함수를 summarise() 함수와 함께 사용하여 팀당 관측치 수를 계산하는 방법을 보여줍니다.

 library (dplyr)

#count number of observations by team
df %>%
  group_by(team) %>%
  summarize(count = n())

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

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

  • A 팀은 3번 등장
  • B 팀 2회 등장
  • C 팀 1회 등장

예 2: n()을 사용하여 그룹별 관측치를 표시하는 열 추가

다음 코드는 n() 함수를 mutate() 함수와 함께 사용하여 팀당 관측치 수가 포함된 날짜 프레임에 열을 추가하는 방법을 보여줍니다.

 library (dplyr)

#add new column that shows number of observations by team
df %>%
  group_by(team) %>%
  mutate(count = n())

# A tibble: 6 x 5
# Groups: team [3]
  team points assists rebounds count
            
1 to 22 10 9 3
2 to 25 12 8 3
3 to 25 9 5 3
4 B 20 4 10 2
5 B 29 11 14 2
6 C 13 10 12 1

count 라는 새 열에는 데이터 프레임의 각 행에 대한 팀 수가 포함됩니다.

예 3: n()을 사용하여 그룹별 관찰을 기준으로 필터링

다음 코드는 n() 함수를 filter() 함수와 함께 사용하여 팀이 두 번 이상 나타나는 행만 표시하도록 데이터 프레임을 필터링하는 방법을 보여줍니다.

 library (dplyr)

#filter rows where team count is greater than 1
df %>%
  group_by(team) %>%
  filter(n() > 1 )

# A tibble: 5 x 4
# Groups: team [2]
  team points assists rebounds
           
1 A 22 10 9
2 A 25 12 8
3 to 25 9 5
4 B 20 4 10
5 B 29 11 14

결과 데이터 프레임에는 팀이 “A” 또는 “B”인 행만 포함됩니다. 이는 숫자가 1보다 큰 유일한 팀이기 때문입니다.

추가 리소스

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

dplyr에서 across() 함수를 사용하는 방법
dplyr에서 relocate() 함수를 사용하는 방법
dplyr에서 Slice() 함수를 사용하는 방법

의견을 추가하다

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