Come risolvere in r: gli argomenti coinvolgono un numero diverso di righe


Un errore che potresti riscontrare in R è:

 arguments imply differing number of rows: 6, 5

Questo errore si verifica quando si tenta di creare un frame di dati e il numero di righe in ciascuna colonna del frame di dati non è lo stesso.

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

Come riprodurre l’errore

Supponiamo di provare a creare un frame di dati in R utilizzando tre vettori:

 #definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)

#attempt to create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)

Error in data.frame(x1 = x1, x2 = x2, y = y): 
  arguments imply differing number of rows: 6, 5

Riceviamo un errore perché ogni vettore non ha la stessa lunghezza, quindi ogni colonna nel frame di dati risultante non ha lo stesso numero di righe.

Possiamo verificarlo stampando la lunghezza di ciascun vettore:

 #print length of each vector
length(x1)

[1] 6

length(x2)

[1] 5

length(y)

[1] 6

Possiamo vedere che il vettore x2 ha una lunghezza pari a 5, che non corrisponde alla lunghezza dei vettori x1 e y .

Come correggere l’errore

Per correggere questo errore, dobbiamo semplicemente assicurarci che ciascun vettore abbia la stessa lunghezza in modo che ciascuna colonna nel frame di dati risultante abbia lo stesso numero di righe.

Ad esempio, potremmo riempire il vettore più corto con valori NA in modo che ciascun vettore abbia la stessa lunghezza:

 #definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)

#pad shortest vector with NA's to have same length as longest vector
length(x2) <- length(y)

#create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)

#view resulting data frame
df

  x1 x2 y
1 1 8 9
2 2 8 11
3 3 8 12
4 4 7 13
5 5 5 14
6 6 NA 16

Tieni presente che non riceviamo un errore perché ogni colonna nel frame di dati risultante ha lo stesso numero di righe.

Risorse addizionali

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

Come risolvere in R: l’argomento non è né numerico né logico: return na
Come riparare in R: argomento non numerico dell’operatore binario
Come riparare in R: la sostituzione ha lunghezza zero

Aggiungi un commento

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