Come risolvere in r: lato sinistro dell'assegnazione non valida (do_set)


Un messaggio di errore che potresti riscontrare quando usi R è:

 Error in 5 <- read.table("data.txt"): 
  invalid (do_set) left-hand side to assignment

Questo errore si verifica quando si tenta di creare una variabile in R che inizia con un numero.

Per impostazione predefinita, R consente solo di definire nomi di variabili che iniziano con un carattere o un punto.

L’esempio seguente mostra come risolvere questo errore nella pratica.

Come riprodurre l’errore

Supponiamo di provare a utilizzare la funzione read.table() per leggere un file in R:

 #attempt to read text file into R
5 <- read. table (" data.txt ")

Error in 5 <- read.table("data.txt"): 
  invalid (do_set) left-hand side to assignment

Ricevo un errore perché ho provato a creare un nome di variabile che inizia con un numero.

Come evitare l’errore

Per evitare l’errore devo utilizzare un nome di variabile che inizi con un carattere o un punto.

Ad esempio, potrei utilizzare il seguente nome di variabile che inizia con un carattere:

 #read text file into R
data5 <- read. table (" data.txt ")

#view contents of text file
data5

   V1 V2
1 1 4
2 3 4
3 2 5
4 7 9
5 9 1
6 6 3
7 4 4

Oppure potrei anche usare il seguente nome di variabile che inizia con un punto:

 #read text file into R
.data5 <- read. table (" data.txt ")

#view contents of text file
.data5

   V1 V2
1 1 4
2 3 4
3 2 5
4 7 9
5 9 1
6 6 3
7 4 4

Ancora una volta, non ricevo un errore perché non ho iniziato il nome della variabile con un carattere.

Tieni presente che puoi digitare quanto segue in R per leggere la documentazione completa su come creare nomi sintatticamente validi:

 ?make.names

Risorse addizionali

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

Come risolvere in R: gli argomenti coinvolgono un numero diverso di righe
Come risolvere in R: errore nella selezione di argomenti inutilizzati
Come riparare in R: la sostituzione ha lunghezza zero

Aggiungi un commento

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