Cara memperbaiki: kesalahan di n(): fungsi ini tidak boleh dipanggil secara langsung


Kesalahan yang mungkin Anda temui di R adalah:

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

Kesalahan ini biasanya terjadi ketika Anda mencoba menggunakan fungsi n() dari paket dplyr , tetapi paket plyr dimuat setelah paket dplyr .

Tutorial ini menjelaskan dengan tepat cara memperbaiki kesalahan ini.

Bagaimana cara mereproduksi kesalahan tersebut

Misalkan kita memiliki bingkai data berikut di R:

 #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

Sekarang misalkan kita mencoba menggunakan fungsi dplyr ringkasan() untuk menghitung jumlah baris, yang dikelompokkan berdasarkan tim:

 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 

Kami menerima pesan kesalahan karena kami memuat paket plyr setelah paket dplyr , yang menyebabkan masalah.

Bagaimana cara memperbaiki kesalahan tersebut

Cara untuk memperbaiki kesalahan ini adalah dengan menggunakan dplyr:summarize sehingga R tahu persis dari paket mana Anda ingin menggunakan fungsi ringkasan :

 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

Perhatikan bahwa kali ini kami dapat menghitung jumlah baris yang dikelompokkan berdasarkan tim tanpa kesalahan apa pun karena kami menggunakan dplyr::summarize untuk melakukan ringkasan.

Sumber daya tambahan

Tutorial berikut menjelaskan cara mengatasi kesalahan umum lainnya di R:

Cara memperbaikinya di R: kesalahan di as.Date.numeric(x): “origin” harus disediakan
Cara Memperbaiki: Kesalahan di stripchart.default(x1, …): Metode plotting tidak valid
Cara memperbaiki: kesalahan di eval (predvars, data, env): objek ‘x’ tidak ditemukan

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *