Cara memperbaiki: objek (daftar) tidak bisa dipaksa mengetik "double";
Kesalahan umum yang mungkin Anda temui di R adalah:
Error: (list) object cannot be coerced to type 'double'
Kesalahan ini terjadi ketika Anda mencoba mengonversi daftar beberapa elemen menjadi elemen numerik tanpa terlebih dahulu menggunakan fungsi unlist() .
Tutorial ini membagikan langkah-langkah tepat yang dapat Anda gunakan untuk mengatasi kesalahan ini.
Bagaimana cara mereproduksi kesalahan tersebut
Kode berikut mencoba mengonversi daftar beberapa item menjadi nilai numerik:
#create list x <- list(1:5, 6:9, 7) #display list x [[1]] [1] 1 2 3 4 5 [[2]] [1] 6 7 8 9 [[3]] [1] 7 #attempt to convert list to numeric x_num <- as. numeric (x) Error: (list) object cannot be coerced to type 'double'
Karena kami tidak menggunakan fungsi unlist() , kami menerima pesan kesalahan (list) tidak dapat dipaksa mengetik “double” .
Bagaimana cara memperbaiki kesalahan tersebut
Untuk mengonversi daftar menjadi numerik, kita perlu memastikan bahwa kita menggunakan fungsi unlist() :
#create list x <- list(1:5, 6:9, 7) #convert list to numeric x_num <- as. numeric (unlist(x)) #display numeric values x_num [1] 1 2 3 4 5 6 7 8 9 7
Kita dapat menggunakan fungsi class() untuk memverifikasi bahwa x_num memang merupakan vektor nilai numerik:
#verify that x_num is numeric
class(x_num)
[1] "digital"
Kita juga dapat memeriksa apakah daftar asli dan daftar numerik mempunyai jumlah elemen yang sama:
#display total number of elements in original list sum(lengths(x)) [1] 10 #display total number of elements in numeric list length(x_num) [1] 10
Kita melihat bahwa kedua panjangnya bersesuaian.
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: kontras hanya dapat diterapkan pada faktor dengan 2 level atau lebih
Cara memperbaikinya di R: panjang benda yang lebih panjang bukan kelipatan panjang benda yang lebih pendek