Cara memperbaiki kesalahan r: di aggregate.data.frame(): argumen harus memiliki panjang yang sama
Kesalahan yang mungkin Anda temui di R adalah:
Error in aggregate.data.frame(as.data.frame(x), ...): arguments must have same length
Kesalahan ini terjadi ketika Anda mencoba menggunakan fungsi Aggregate() untuk meringkas nilai dalam satu atau lebih kolom bingkai data di R tetapi tidak dapat menentukan nama bingkai data saat mereferensikan kolom.
Tutorial ini menjelaskan dengan tepat cara memperbaiki kesalahan ini.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita memiliki bingkai data berikut di 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
Sekarang misalkan kita mencoba menggunakan fungsi Aggregate() untuk menghitung nilai poin rata-rata, yang dikelompokkan berdasarkan tim :
#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
Kami menerima kesalahan karena kami gagal menentukan nama blok data dalam argumen list() .
Bagaimana cara memperbaiki kesalahan tersebut
Cara untuk memperbaiki kesalahan ini adalah dengan menggunakan df$team , bukan hanya “team” dalam argumen 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
Perhatikan bahwa kami tidak menerima kesalahan apa pun kali ini karena kami menentukan nama bingkai data dalam argumen list() .
Perhatikan bahwa jika Anda menggunakan beberapa nama kolom dalam argumen list() , maka Anda perlu menentukan nama bingkai data untuk setiap nama kolom, jika tidak, Anda akan menerima kesalahan.
Sumber daya tambahan
Tutorial berikut menjelaskan cara mengatasi kesalahan umum lainnya di R:
Cara memperbaiki di R: Nama tidak sesuai dengan nama sebelumnya
Cara memperbaikinya di R: panjang benda yang lebih panjang bukan kelipatan panjang benda yang lebih pendek
Cara memperbaikinya di R: kontras hanya dapat diterapkan pada faktor dengan 2 level atau lebih