Nasıl düzeltilir: n()'daki hata: bu işlev doğrudan çağrılmamalıdır


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

 Error in n(): This function should not be called directly

Bu hata genellikle dplyr paketinin n() işlevini kullanmaya çalıştığınızda oluşur, ancak plyr paketi dplyr paketinden sonra yüklenir.

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:

 #define data frame
df <- data. frame (team=rep(c('A', 'B'), each= 5 ),
                 points=c(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),
                 assists=c(4, 7, 11, 16, 22, 29, 38, 49, 63, 80))

#view data frame
df

   team points assists
1 to 2 4
2 to 4 7
3 to 6 11
4 to 8 16
5 to 10 22
6 B 12 29
7 B 14 38
8 B 16 49
9 B 18 63
10 B 20 80

Şimdi ekibe göre gruplandırılmış satır sayısını saymak için dplyr’ın Summary() işlevini kullanmaya çalıştığımızı varsayalım:

 library (dplyr)
library (plyr)

#attempt to count rows by team
df %>%
  group_by(team) %>%
  summarize(count = n())

Error in n(): This function should not be called directly 

Plyr paketini dplyr paketinden sonra yüklediğimiz için bir hata alıyoruz ve bu da sorunlara neden oluyor.

Hata nasıl düzeltilir?

Bu hatayı düzeltmenin yolu basitçe dplyr:summarize kullanmaktır, böylece R, özet işlevini tam olarak hangi paketten kullanmak istediğinizi bilir:

 library (dplyr)
library (plyr)

#count rows by team
df %>%
  group_by(team) %>%
  dplyr::summarize(count = n())

# A tibble: 2 x 2
  team count
   
1 to 5
2 B 5

Özeti gerçekleştirmek için dplyr::summarize kullandığımızdan bu sefer takıma göre gruplandırılmış satır sayısını herhangi bir hata olmadan sayabildiğimizi unutmayın.

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: as.Date.numeric(x) dosyasındaki hata: “origin” sağlanmalıdır
Nasıl düzeltilir: stripchart.default(x1,…) hatası: Geçersiz çizim yöntemi
Nasıl düzeltilir: değerlendirmede hata (predvars, data, env): ‘x’ nesnesi bulunamadı

Yorum ekle

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