Cara memperbaikinya: jumlah barang yang akan diganti bukan kelipatan dari panjang penggantian
Kesalahan yang mungkin Anda temui di R adalah:
Warning message: number of items to replace is not a multiple of replacement length
Kesalahan ini terjadi ketika Anda mencoba mengganti sejumlah elemen dalam kolom vektor atau bingkai data (asumsikan 3 elemen) dengan jumlah elemen yang berbeda (asumsikan 6 elemen).
Tutorial ini menjelaskan dengan tepat cara memperbaiki kesalahan ini.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita memiliki bingkai data berikut di R dengan beberapa nilai yang hilang di kolom pertama:
#create data frame df <- data. frame (a=c(3, NA, 7, NA, NA, 14), b=c(4, 4, 5, 12, 13, 18)) #view data frame df ab 1 3 4 2 NA 4 3 7 5 4 NA 12 5 NA 13 6 14 18
Sekarang misalkan kita mencoba mengganti nilai yang hilang pada kolom pertama dengan nilai pada kolom kedua:
#attempt to replace missing values in first column with values in second column df$a[is. na (df$a)] <- df$b Warning message: In df$a[is.na(df$a)] <- df$b: number of items to replace is not a multiple of replacement length
Kami menerima kesalahan karena kami mencoba mengganti 3 nilai yang hilang di kolom pertama dengan 6 nilai di kolom kedua.
Bagaimana cara memperbaiki kesalahan tersebut
Cara termudah untuk memperbaiki kesalahan ini adalah dengan menggunakan pernyataan ifelse() :
#replace missing values in column 'a' with corresponding values in column 'b'
df$a <- ifelse(is. na (df$a), df$b, df$a)
#view updated data frame
df
ab
1 3 4
2 4 4
3 7 5
4 12 12
5 13 13
6 14 18
Pernyataan ifelse() ini memeriksa apakah nilai kolom “a” kosong. Jika demikian, maka diganti dengan nilai yang sesuai di kolom “b”, jika tidak maka dibiarkan saja.
Cara lain untuk memperbaiki kesalahan ini adalah dengan mengganti semua nilai yang hilang dengan nomor tertentu:
#replace all missing values in column 'a' with zero
df$a[is. na (df$a)] <- 0
#view updated data frame
df
ab
1 3 4
2 0 4
3 7 5
4 0 12
5 0 13
6 14 18
Dengan menggunakan metode ini, setiap nilai yang hilang di kolom “a” diganti dengan nol.
Sumber daya tambahan
Cara memperbaikinya di R: NA yang diperkenalkan dengan paksaan
Cara memperbaiki di R: indeks di luar batas
Cara memperbaikinya di R: panjang benda yang lebih panjang bukan kelipatan panjang benda yang lebih pendek