R'de nasıl düzeltilir: dim(x) pozitif uzunluğa sahip olmalıdır
R’de karşılaşabileceğiniz bir hata:
Error in apply(df$var1, 2, mean): dim(X) must have a positive length
Bu hata, bir veri çerçevesi veya matrisin bir sütunu için bir ölçüm hesaplamak amacıyla application() işlevini kullanmaya çalıştığınızda, bir veri çerçevesi veya matris yerine bağımsız değişken olarak bir vektör sağladığınızda ortaya çıkar.
Bu eğitimde bu hatanın nasıl düzeltileceği tam olarak açıklanmaktadır.
Hata nasıl yeniden oluşturulur?
R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#create data frame
df <- data. frame (points=c(99, 97, 104, 79, 84, 88, 91, 99),
rebounds=c(34, 40, 41, 38, 29, 30, 22, 25),
blocks=c(12, 8, 8, 7, 8, 11, 6, 7))
#view data frame
df
points rebound blocks
1 99 34 12
2 97 40 8
3 104 41 8
4 79 38 7
5 84 29 8
6 88 30 11
7 91 22 6
8 99 25 7
Şimdi “puan” sütunundaki ortalama değeri hesaplamak için application() işlevini kullanmaya çalıştığımızı varsayalım:
#attempt to calculate mean of 'points' column
apply(df$points, 2, mean)
Error in apply(df$points, 2, mean): dim(X) must have a positive length
Apply() fonksiyonunun bir veri çerçevesine veya matrise uygulanması gerektiğinden bir hata oluşur, ancak bu örnekte onu veri çerçevesindeki belirli bir sütuna uygulamaya çalışıyoruz.
Hata nasıl düzeltilir?
Bu hatayı düzeltmenin yolu, basitçe veri çerçevesinin adını application() işlevine aşağıdaki gibi sağlamaktır:
#calculate mean of every column in data frame
apply(df, 2, mean)
points rebound blocks
92,625 32,375 8,375
Çıktıdan veri çerçevesindeki her sütunun ortalama değerini görebiliriz. Örneğin “puan” sütununun ortalama değeri 92.625’tir .
Bu fonksiyonu aynı zamanda veri çerçevesindeki belirli değerlerin yalnızca ortalamasını bulmak için de kullanabiliriz:
#calculate mean of 'points' and 'blocks' column in data frame
apply(df[c(' points ', ' blocks ')], 2, mean)
point blocks
92,625 8,375
Son olarak, tek bir sütunun ortalamasını bulmak istiyorsak, application() işlevini hiç kullanmadan Mean() işlevini kullanabiliriz:
#calculate mean of 'points' column
mean(df$points)
[1] 92,625
Ek kaynaklar
Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl çözüleceği açıklanmaktadır:
R’de nasıl düzeltilir: Adlar önceki adlarla eşleşmiyor
R’de nasıl düzeltilir: daha uzun bir nesnenin uzunluğu, daha kısa bir nesnenin uzunluğunun katı değildir
R’de nasıl düzeltilir: kontrastlar yalnızca 2 veya daha fazla seviyeye sahip faktörlere uygulanabilir