Cara memperbaiki: error pada strsplit(unitspec, ” “): argumen tanpa karakter


Kesalahan yang mungkin Anda temui di R adalah:

 Error in strsplit(df$my_column, split = "1"): non-character argument 

Kesalahan ini biasanya terjadi ketika Anda mencoba menggunakan fungsi strsplit() di R untuk memisahkan string, ketika objek yang Anda kerjakan bukan string.

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', 'B', 'C'),
                 dots=c(91910, 14015, 120215))

#view data frame
df

  team points
1 A 91910
2 B 14015
3 C 120215

Sekarang misalkan kita mencoba menggunakan fungsi strsplit() untuk membagi nilai pada kolom “poin” berdasarkan tempat munculnya angka 1:

 #attempt to split values in points column
strsplit(df$points, split="1")

Error in strsplit(df$points, split = "1"): non-character argument

Kami menerima kesalahan karena variabel “poin” bukan karakter.

Kita dapat memastikannya dengan memeriksa kelas variabel ini:

 #display class of "points" variable
class(df$points)

[1] "digital"

Kita dapat melihat bahwa variabel ini memiliki kelas numerik.

Bagaimana cara memperbaiki kesalahan tersebut

Cara untuk memperbaiki kesalahan ini adalah dengan menggunakan as.character() untuk mengubah variabel “poin” menjadi karakter sebelum mencoba menggunakan fungsi strsplit() :

 #split values in points column based on where 1 appears
strsplit(as. character (df$points), split="1")

[[1]]
[1990"

[[2]]
[1] "" "40" "5" 

[[3]]
[1] "" "202" "5"

Kali ini kita berhasil membagi setiap nilai pada kolom “poin” karena pertama kali kita menggunakan fungsi as.character() untuk mengubah “poin” menjadi karakter.

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: lebih banyak kolom daripada nama kolom
Cara perbaikan di R: penggantian ada baris X, data ada Y

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *