Jak naprawić w r: argumenty obejmują różną liczbę linii


Błąd, który możesz napotkać w R to:

 arguments imply differing number of rows: 6, 5

Ten błąd występuje, gdy próbujesz utworzyć ramkę danych, a liczba wierszy w każdej kolumnie ramki danych jest różna.

Poniższy przykład pokazuje, jak w praktyce skorygować ten błąd.

Jak odtworzyć błąd

Załóżmy, że próbujemy utworzyć ramkę danych w R przy użyciu trzech wektorów:

 #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

Otrzymujemy błąd, ponieważ każdy wektor nie ma tej samej długości, więc każda kolumna w wynikowej ramce danych nie ma tej samej liczby wierszy.

Możemy to sprawdzić, drukując długość każdego wektora:

 #print length of each vector
length(x1)

[1] 6

length(x2)

[1] 5

length(y)

[1] 6

Widzimy, że wektor x2 ma długość 5, co nie odpowiada długości wektorów x1 i y .

Jak naprawić błąd

Aby naprawić ten błąd, musimy po prostu upewnić się, że każdy wektor ma tę samą długość, tak aby każda kolumna w wynikowej ramce danych miała tę samą liczbę wierszy.

Na przykład moglibyśmy dopełnić najkrótszy wektor wartościami NA, tak aby każdy wektor miał tę samą długość:

 #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

Należy pamiętać, że nie pojawia się błąd, ponieważ każda kolumna w wynikowej ramce danych ma tę samą liczbę wierszy.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak naprawić inne typowe błędy w R:

Jak naprawić w R: argument nie jest ani numeryczny, ani logiczny: return na
Jak naprawić w R: nienumeryczny argument operatora binarnego
Jak naprawić w R: wymiana ma zerową długość

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *