R'de nasıl düzeltilir: rep(1, n) hatası: "kat" geçersiz argüman


R’de karşılaşabileceğiniz bir hata:

 Error in rep(1, times = -4): invalid 'times' argument

Bu hata, rep() fonksiyonundaki times argümanına aşağıdaki değerlerden birini girdiğinizde ortaya çıkar:

  • Negatif bir değer
  • Yok değeri
  • Değerlerin bir vektörü

rep() işlevi öğeleri belirli sayıda çoğalttığından, times bağımsız değişkeninde yalnızca negatif olmayan bir değer geçerlidir.

Bu eğitimde bu hatanın nasıl düzeltileceği tam olarak açıklanmaktadır.

Hata nasıl yeniden oluşturulur?

“1” değerini -4 kez çoğaltmaya çalıştığımızı varsayalım:

 #attempt to replicate "1" -4 times
rep(1, times = -4)

Error in rep(1, times = -4): invalid 'times' argument

Veya “1” değerini NA kez yeniden üretmeye çalıştığımızı varsayalım:

 #attempt to replicate "1" NA times
rep(1, times = NA)

Error in rep(1, times = NA): invalid 'times' argument

Veya “1” değerini 2 kez ve 3 kez yeniden üretmeye çalıştığımızı varsayalım:

 #attempt to replicate "1" 2 times and 3 times
rep(1, times = c(2, 3))

Error in rep(1, times = c(2, 3)): invalid 'times' argument

Her senaryoda times bağımsız değişkeni için negatif olmayan bir değer sağlayamadığımız için her senaryoda bir hata alıyoruz.

Hata nasıl düzeltilir?

Bu hatayı düzeltmenin yolu rep() işlevindeki times argümanına negatif olmayan bir değer sağlamaktır.

Örneğin, aşağıdaki kod “1” değerinin 7 kez nasıl çoğaltılacağını gösterir:

 #replicate 1 7 times
rep(1, times = 7)

[1] 1 1 1 1 1 1 1

“1” değeri 7 kez tekrarlanıyor ve times argümanına geçerli bir değer sağladığımız için hiçbir hata almıyoruz.

Ek kaynaklar

Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:

R’de nasıl düzeltilir: Zorlamayla ortaya çıkan NA’lar
R’de nasıl onarılır: sınırların dışında dizin
R’de nasıl düzeltilir: daha uzun bir nesnenin uzunluğu, daha kısa bir nesnenin uzunluğunun katı değildir
R’de onarım nasıl yapılır: Değiştirilecek eleman sayısı, değiştirme uzunluğunun katı değildir

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir