해결 방법: 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
이제 dplyr 의 summary() 함수를 사용하여 팀별로 그룹화된 행 수를 계산한다고 가정해 보겠습니다.
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’ 개체를 찾을 수 없습니다.