해결 방법: n()의 오류: 이 함수를 직접 호출하면 안 됩니다.


R에서 발생할 수 있는 오류는 다음과 같습니다.

 Error in n(): This function should not be called directly

이 오류는 일반적으로 dplyr 패키지의 n() 함수를 사용하려고 할 때 plyr 패키지가 dplyr 패키지 다음에 로드될 때 발생합니다.

이 튜토리얼에서는 이 오류를 수정하는 방법을 정확하게 설명합니다.

오류를 재현하는 방법

R에 다음과 같은 데이터 프레임이 있다고 가정합니다.

 #define data frame
df <- data. frame (team=rep(c('A', 'B'), each= 5 ),
                 points=c(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),
                 assists=c(4, 7, 11, 16, 22, 29, 38, 49, 63, 80))

#view data frame
df

   team points assists
1 to 2 4
2 to 4 7
3 to 6 11
4 to 8 16
5 to 10 22
6 B 12 29
7 B 14 38
8 B 16 49
9 B 18 63
10 B 20 80

이제 dplyrsummary() 함수를 사용하여 팀별로 그룹화된 행 수를 계산한다고 가정해 보겠습니다.

 library (dplyr)
library (plyr)

#attempt to count rows by team
df %>%
  group_by(team) %>%
  summarize(count = n())

Error in n(): This function should not be called directly 

dplyr 패키지 다음에 plyr 패키지를 로드했기 때문에 오류가 발생했으며 이로 인해 문제가 발생했습니다.

오류를 수정하는 방법

이 오류를 해결하는 방법은 dplyr:summarize를 사용하여 R이 요약 함수를 사용하려는 패키지를 정확히 알 수 있도록 하는 것입니다.

 library (dplyr)
library (plyr)

#count rows by team
df %>%
  group_by(team) %>%
  dplyr::summarize(count = n())

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

dplyr::summarize를 사용하여 요약을 수행했기 때문에 이번에는 오류 없이 팀별로 그룹화된 행 수를 계산할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 R의 다른 일반적인 오류를 해결하는 방법을 설명합니다.

R 수정 방법: as.Date.numeric(x)의 오류: “origin”을 제공해야 합니다.
해결 방법: Stripchart.default(x1, …)의 오류: 잘못된 플로팅 방법
해결 방법: 평가 오류(predvars, data, env): ‘x’ 개체를 찾을 수 없습니다.

의견을 추가하다

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