Cara memperbaiki: kesalahan dalam fun(newx[, i], …): tipe argumen ' (karakter)
Kesalahan yang mungkin Anda temui di R adalah:
Error in sum(x): invalid 'type' (character) of argument
Kesalahan ini terjadi ketika Anda mencoba melakukan operasi matematika (seperti mengambil jumlah, rata-rata, angka, dll.) pada vektor karakter.
Tutorial ini menjelaskan cara mengatasi kesalahan ini dalam praktiknya.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita membuat bingkai data berikut di R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
points=c(10, 12, 15, 20, 26, 25),
rebounds=c(7, 8, 8, 14, 10, 12))
#view data frame
df
team points rebounds
1 to 10 7
2 to 12 8
3 to 15 8
4 B 20 14
5 B 26 10
6 B 25 12
Sekarang misalkan kita mencoba menghitung jumlah kolom “tim”:
#attempt to calculate sum of values in 'team' column
sum(df$team)
Error in sum(df$team): invalid 'type' (character) of argument
Kami menerima kesalahan karena kolom “tim” adalah kolom karakter.
Kita dapat mengonfirmasi hal ini menggunakan fungsi class() :
#view class of 'team' column
class(df$team)
[1] “character”
Bagaimana cara memperbaiki kesalahan tersebut
Cara mengatasi kesalahan ini adalah dengan hanya menggunakan operasi matematika dengan vektor numerik.
Misalnya, kita bisa menggunakan fungsi sum() untuk menghitung jumlah nilai di kolom ‘poin’:
#calculate sum of values in 'points' column
sum(df$points)
[1] 108
Kita juga dapat menghitung jumlah nilai poin, yang dikelompokkan berdasarkan tim:
#calculate sum of points, grouped by team
aggregate(points ~ team, df, sum)
team points
1 to 37
2 B 71
Kami bahkan dapat menghitung jumlah poin dan nilai rebound, yang dikelompokkan berdasarkan tim:
#calculate sum of points and sum of rebounds, grouped by team
aggregate(.~team, df, sum)
team points rebounds
1 A 37 23
2 B 71 36
Perhatikan bahwa kami tidak menerima kesalahan pada operasi ini karena kami hanya mencoba menghitung jumlah variabel numerik.
Sumber daya tambahan
Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya di R:
Cara memperbaikinya: kondisi memiliki panjang > 1 dan hanya elemen pertama yang akan digunakan
Cara memperbaiki: argumen non-numerik dari operator biner
Cara memperbaikinya: dim(X) harus mempunyai panjang positif
Cara memperbaiki: kesalahan dalam memilih argumen yang tidak digunakan