Jak naprawić w r: błąd w aggregate.data.frame(): argumenty muszą mieć tę samą długość


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

 Error in aggregate.data.frame(as.data.frame(x), ...): 
  arguments must have same length 

Ten błąd występuje, gdy próbujesz użyć funkcji Aggregate() do podsumowania wartości w jednej lub większej liczbie kolumn ramki danych w R, ale nie możesz określić nazwy ramki danych podczas odwoływania się do kolumn.

W tym samouczku dokładnie wyjaśniono, jak naprawić ten błąd.

Jak odtworzyć błąd

Załóżmy, że mamy następującą ramkę danych w R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'),
                 points=c(5, 9, 12, 14, 14, 13, 10, 6, 15, 18))

#view data frame
df

   team points
1 to 5
2 to 9
3 to 12
4 to 14
5 to 14
6 B 13
7 B 10
8 B 6
9 C 15
10 C 18

Załóżmy teraz, że próbujemy użyć funkcji Aggregate() do obliczenia średniej wartości punktów , pogrupowanej według zespołu :

 #attempt to calculate mean points value by team
aggregate(df$points, list(' team '), FUN=mean)

Error in aggregate.data.frame(as.data.frame(x), ...): 
  arguments must have same length

Otrzymujemy błąd, ponieważ nie określiliśmy nazwy bloku danych w argumencie list() .

Jak naprawić błąd

Sposobem na naprawienie tego błędu jest po prostu użycie df$team zamiast po prostu „team” w argumencie list() :

 #calculate mean points value by team
aggregate(df$points, list(df$team), FUN=mean)

  Group.1 x
1 A 10.800000
2 B 9.666667
3 C 16.500000

Zauważ, że tym razem nie otrzymaliśmy żadnych błędów, ponieważ podaliśmy nazwę ramki danych w argumencie list() .

Pamiętaj, że jeśli w argumencie list() użyjesz wielu nazw kolumn, będziesz musiał określić nazwę ramki danych dla każdej nazwy kolumny, w przeciwnym razie pojawi się błąd.

Dodatkowe zasoby

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

Jak naprawić w R: Nazwy nie pasują do poprzednich nazw
Jak naprawić w R: długość dłuższego obiektu nie jest wielokrotnością długości krótszego obiektu
Jak naprawić w R: kontrasty można zastosować tylko do czynników o 2 lub więcej poziomach

Dodaj komentarz

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