Come risolvere: errore in n(): questa funzione non deve essere chiamata direttamente


Un errore che potresti riscontrare in R è:

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

Questo errore di solito si verifica quando si tenta di utilizzare la funzione n() del pacchetto dplyr , ma il pacchetto plyr viene caricato dopo il pacchetto dplyr .

Questo tutorial spiega esattamente come correggere questo errore.

Come riprodurre l’errore

Supponiamo di avere il seguente frame di dati in 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

Supponiamo ora di provare a utilizzare la funzione summary() di dplyr per contare il numero di righe, raggruppate per squadra:

 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 

Riceviamo un errore perché abbiamo caricato il pacchetto plyr dopo il pacchetto dplyr , il che sta causando problemi.

Come correggere l’errore

Il modo per correggere questo errore è semplicemente utilizzare dplyr:summarize in modo che R sappia esattamente da quale pacchetto si desidera utilizzare la funzione di riepilogo :

 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

Tieni presente che questa volta siamo in grado di contare il numero di righe raggruppate per squadra senza errori poiché abbiamo utilizzato dplyr::summarize per eseguire il riepilogo.

Risorse addizionali

I seguenti tutorial spiegano come risolvere altri errori comuni in R:

Come risolvere il problema in R: è necessario fornire l’errore in as.Date.numeric(x): è necessario fornire “origine”.
Come risolvere il problema: Errore in stripchart.default(x1, …): metodo di stampa non valido
Come risolvere: errore in eval (predvars, data, env): oggetto ‘x’ non trovato

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *