Cara memperbaiki: jumlah baris hasil bukan kelipatan panjang vektor (arg 1)


Pesan peringatan yang mungkin Anda temui saat menggunakan R adalah:

 Warning message:
In cbind(A, B, C):
  number of rows of result is not a multiple of vector length (arg 1)

Peringatan ini biasanya terjadi ketika Anda mencoba menggunakan fungsi cbind() untuk mengikat kolom-kolom vektor dengan panjang berbeda.

Perlu dicatat bahwa pesan ini hanyalah peringatan dan kode Anda akan terus berjalan, namun hasil yang Anda dapatkan mungkin berbeda dari yang Anda harapkan.

Contoh berikut menunjukkan cara menghindari peringatan ini dalam praktiknya.

Cara mereproduksi peringatan tersebut

Misalkan kita menggunakan fungsi cbind() untuk mengikat tiga vektor menjadi kolom dalam bingkai data:

 #define three vectors with different lengths
A = c(4, 2, 3, 6)
B = c(9, 1, 8, 7, 0, 7)
C = c(3, 5, 3, 3, 6, 4)

#column bind three vectors into data frame
df <- cbind(A, B, C)

#view data frame
df

Warning message:
In cbind(A, B, C):
  number of rows of result is not a multiple of vector length (arg 1)
     ABC
[1,] 4 9 3
[2,] 2 1 5
[3,] 3 8 3
[4,] 6 7 3
[5,] 4 0 6
[6,] 2 7 4

Fungsi cbind bekerja dengan ketiga vektor, tetapi perhatikan bahwa nilai vektor pertama berulang terus menerus.

Ini disebut “daur ulang” di R.

Bagaimana cara menghindari peringatan tersebut

Untuk menghindari peringatan ini sepenuhnya, kita perlu memastikan bahwa panjang setiap vektor yang kita gunakan adalah sama.

Salah satu cara untuk mencapainya adalah dengan mengisi nilai yang hilang pada vektor terpendek dengan nilai NA sebagai berikut:

 #calculate max length of vectors
max_length <- max(length(A), length(B), length(C))

#set length of each vector equal to max length
length(A) <- max_length                      
length(B) <- max_length
length(C) <- max_length 

#cbind the three vectors together into a data frame
df <- cbind(A, B, C)

#view data frame
df

      ABC
[1,] 4 9 3
[2,] 2 1 5
[3,] 3 8 3
[4,] 6 7 3
[5,] NA 0 6
[6,] NA 7 4

Perhatikan bahwa kali ini kita tidak mendapatkan pesan peringatan apa pun dan nilai vektor pendek hanya diisi dengan nilai NA untuk memastikan bahwa masing-masing dari tiga vektor yang kita gunakan memiliki panjang yang sama.

Sumber daya tambahan

Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya di R:

Cara memperbaikinya di R: argumen melibatkan jumlah baris yang berbeda
Cara memperbaiki kesalahan R: dalam memilih argumen yang tidak digunakan
Cara memperbaiki di R: penggantian memiliki panjang nol

Tambahkan komentar

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