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

Yorum ekle

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