Come risolvere in r: errore nella selezione di argomenti inutilizzati


Un errore che potresti riscontrare in R è:

 Error in select(., cyl, mpg): unused arguments (cyl, mpg) 

Questo errore si verifica quando si tenta di utilizzare la funzione select() del pacchetto dplyr in R ma si carica anche il pacchetto MASS .

Quando ciò accade, R tenta invece di utilizzare la funzione select() del pacchetto MASS e viene generato un errore.

Questo tutorial spiega esattamente come correggere questo errore.

Come riprodurre l’errore

Supponiamo di provare a eseguire il codice seguente per riassumere una variabile nel set di dati mtcars in R:

 library (dplyr)
library (MASS)

#find average mpg grouped by 'cyl'
mtcars %>%
  select(cyl, mpg) %>%
  group_by(cyl) %>%
  summarize(avg_mpg = mean(mpg))

Error in select(., cyl, mpg): unused arguments (cyl, mpg)

Si verifica un errore perché la funzione select() del pacchetto MASS è in conflitto con la funzione select() del pacchetto dplyr.

Come correggere l’errore

Il modo più semplice per correggere questo errore è dire esplicitamente a R di utilizzare la funzione select() dal pacchetto dplyr utilizzando il seguente codice:

 library (dplyr)
library (MASS)

#find average mpg grouped by 'cyl'
mtcars %>%
  dplyr::select(cyl, mpg) %>%
  group_by(cyl) %>%
  summarize(avg_mpg = mean(mpg))

# A tibble: 3 x 2
    cyl avg_mpg
1 4 26.7
2 6 19.7
3 8 15.1

Il codice viene eseguito correttamente perché dplyr::select indica esplicitamente a R di utilizzare la funzione select() dal pacchetto dplyr anziché dal pacchetto MASS.

Risorse addizionali

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

Come risolvere il problema in R: i nomi non corrispondono ai nomi precedenti
Come risolvere in R: la lunghezza di un oggetto più lungo non è un multiplo della lunghezza di un oggetto più corto
Come risolvere in R: i contrasti possono essere applicati solo a fattori con 2 o più livelli

Aggiungi un commento

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