Cara memperbaiki di r: argumen non-numerik dari operator biner
Kesalahan yang mungkin Anda temui di R adalah:
Error in df$var1- df$var2: non-numeric argument to binary operator
Kesalahan ini terjadi ketika Anda mencoba melakukan operasi biner pada dua vektor dan salah satu vektornya bukan numerik.
Berikut adalah contoh operasi biner:
- Pengurangan ( – )
- Penambahan ( + )
- Perkalian ( * )
- Divisi ( / )
Kesalahan ini paling sering terjadi jika salah satu vektor yang Anda berikan adalah vektor karakter.
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 (period = c(1, 2, 3, 4, 5, 6, 7, 8),
sales = c(14, 13, 10, 11, 19, 9, 8, 7),
returns = c('1', '0', '2', '1', '1', '2', '2', '3'))
#view data frame
df
period sales returns
1 1 14 1
2 2 13 0
3 3 10 2
4 4 11 1
5 5 19 1
6 6 9 2
7 7 8 2
8 8 7 3
Sekarang katakanlah kita mencoba membuat kolom baru bernama “bersih” dengan mengurangi kolom “pengembalian” dari kolom “penjualan”:
#attempt to create new column called 'net'
df$net <- df$sales - df$returns
Error in df$sales * df$returns: non-numeric argument to binary operator
Kesalahan terjadi karena kolom “pengembalian” adalah kelas “karakter” dan tidak mungkin untuk mengurangi kolom karakter dari kolom numerik.
#display class of 'sales' column
class(df$sales)
[1] "digital"
#display class of 'returns' column
class(df$returns)
[1] “character”
Bagaimana cara memperbaiki kesalahan tersebut
Cara untuk memperbaiki kesalahan ini adalah dengan menggunakan as.numeric() untuk mengubah kolom “pengembalian” menjadi numerik sebelum melakukan pengurangan:
#create new column called 'net'
df$net <- df$sales - as. numeric (df$returns)
#view updated data frame
df
period sales returns net
1 1 14 1 13
2 2 13 0 13
3 3 10 2 8
4 4 11 1 10
5 5 19 1 18
6 6 9 2 7
7 7 8 2 6
8 8 7 3 4
Kami dapat melakukan pengurangan tanpa kesalahan apa pun karena kolom “penjualan” dan “pengembalian” berupa angka.
Sumber daya tambahan
Tutorial berikut menjelaskan cara mengatasi kesalahan umum lainnya di R:
Cara memperbaikinya di R: dim(X) harus panjangnya positif
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