Cara memperbaikinya di r: jumlah indeks yang salah pada matriks
Kesalahan yang mungkin Anda temui di R adalah:
Error in x[i, ] <- 0: incorrect number of subscripts on matrix
Kesalahan ini terjadi ketika Anda mencoba untuk menetapkan nilai ke posisi dalam vektor, namun secara tidak sengaja menyertakan koma seolah-olah Anda sedang menetapkan nilai ke posisi baris dan kolom dalam matriks.
Tutorial ini menjelaskan dengan tepat cara memperbaiki kesalahan ini.
Contoh 1: Memperbaiki kesalahan untuk satu nilai
Misalkan kita memiliki vektor berikut di R dengan 5 nilai:
#definevector
x <- c(4, 6, 7, 7, 15)
Sekarang misalkan kita mencoba memberikan nilai “22” pada elemen ketiga dari vektor:
#attempt to assign the value '22' to element in third position
x[3, ] <- 22
Error in x[3, ] <- 22: incorrect number of subscripts on matrix
Kami menerima kesalahan karena kami menyertakan koma saat mencoba menetapkan nilai baru.
Sebagai gantinya, kita hanya perlu menghapus perintah:
assign the value '22' to element in third position x[3] <- 22 #display updated vector x [1] 4 6 22 7 15
Contoh 2: memperbaiki kesalahan dalam perulangan for
Kesalahan ini juga dapat terjadi ketika mencoba mengganti beberapa nilai dalam sebuah vektor menggunakan loop ‘for’.
Misalnya, kode berikut mencoba mengganti setiap nilai dalam vektor dengan nol:
#definevector
x <- c(4, 6, 7, 7, 15)
#attempt to replace every value in vector with zero
for (i in 1:length(x)) {
x[i, ]=0
}
Error in x[i, ] = 0: incorrect number of subscripts on matrix
Kami menerima kesalahan karena kami menyertakan koma saat mencoba menetapkan angka nol.
Sebagai gantinya, kita hanya perlu menghapus perintah:
#definevector
x <- c(4, 6, 7, 7, 15)
#replace every value in vector with zero
for (i in 1:length(x)) {
x[i]=0
}
#view updated vector
x
[1] 0 0 0 0 0
Setelah koma dihilangkan, kode berjalan tanpa kesalahan.
Sumber daya tambahan
Cara memperbaikinya di R: NA yang diperkenalkan dengan paksaan
Cara memperbaiki di R: indeks di luar batas
Cara memperbaiki kesalahan di R: jumlah dimensi salah