R'de nasıl düzeltilir: bağımsız değişkenler farklı sayıda satır içerir
R’de karşılaşabileceğiniz bir hata:
arguments imply differing number of rows: 6, 5
Bu hata, bir veri çerçevesi oluşturmaya çalıştığınızda ve veri çerçevesinin her sütunundaki satır sayısı aynı olmadığında ortaya çıkar.
Aşağıdaki örnekte bu hatanın pratikte nasıl düzeltileceği gösterilmektedir.
Hata nasıl yeniden oluşturulur?
Diyelim ki R’de üç vektör kullanarak bir veri çerçevesi oluşturmaya çalışıyoruz:
#definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)
#attempt to create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)
Error in data.frame(x1 = x1, x2 = x2, y = y):
arguments imply differing number of rows: 6, 5
Her vektör aynı uzunlukta olmadığı için bir hata alıyoruz, dolayısıyla ortaya çıkan veri çerçevesindeki her sütun aynı sayıda satıra sahip değil.
Bunu her vektörün uzunluğunu yazdırarak kontrol edebiliriz:
#print length of each vector
length(x1)
[1] 6
length(x2)
[1] 5
length(y)
[1] 6
x2 vektörünün 5 uzunluğa sahip olduğunu görebiliriz, bu da x1 ve y vektörlerinin uzunluğuna karşılık gelmez.
Hata nasıl düzeltilir?
Bu hatayı düzeltmek için, sonuçtaki veri çerçevesindeki her sütunun aynı sayıda satıra sahip olması için her vektörün aynı uzunlukta olmasını sağlamamız yeterlidir.
Örneğin, her vektörün aynı uzunluğa sahip olması için en kısa vektörü NA değerleriyle doldurabiliriz:
#definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)
#pad shortest vector with NA's to have same length as longest vector
length(x2) <- length(y)
#create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)
#view resulting data frame
df
x1 x2 y
1 1 8 9
2 2 8 11
3 3 8 12
4 4 7 13
5 5 5 14
6 6 NA 16
Ortaya çıkan veri çerçevesindeki her sütun aynı sayıda satıra sahip olduğundan hata almadığımızı unutmayın.
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: argüman ne sayısal ne de mantıksal: return na
R’de nasıl onarılır: ikili operatörün sayısal olmayan argümanı
R’de nasıl onarılır: değiştirmenin uzunluğu sıfırdır