Cara menggunakan fungsi n() di r (dengan contoh)
Anda dapat menggunakan fungsi n() dari paket dplyr di R untuk menghitung jumlah observasi dalam suatu grup.
Berikut tiga cara umum untuk menggunakan fitur ini dalam praktiknya:
Metode 1: Gunakan n() untuk menghitung observasi berdasarkan kelompok
df %>%
group_by(group_variable) %>%
summarize(count = n())
Metode 2: Gunakan n() untuk menambahkan kolom yang menampilkan observasi berdasarkan kelompok
df %>%
group_by(group_variable) %>%
mutate(count = n())
Metode 3: Gunakan n() untuk memfilter berdasarkan observasi berdasarkan kelompok
df %>%
group_by(group_variable) %>%
filter(n() > 15 )
Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik dengan kerangka data berikut di R yang berisi informasi tentang berbagai pemain bola basket:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C'), points=c(22, 25, 25, 20, 29, 13), assists=c(10, 12, 9, 4, 11, 10), rebounds=c(9, 8, 5, 10, 14, 12)) #view data frame df team points assists rebounds 1 A 22 10 9 2 A 25 12 8 3 to 25 9 5 4 B 20 4 10 5 B 29 11 14 6 C 13 10 12
Contoh 1: Gunakan n() untuk menghitung observasi berdasarkan kelompok
Kode berikut menunjukkan cara menggunakan fungsi n() dengan fungsi summarise() untuk menghitung jumlah observasi per tim :
library (dplyr) #count number of observations by team df %>% group_by(team) %>% summarize(count = n()) # A tibble: 3 x 2 team count 1 to 3 2 B 2 3 C 1
Dari hasilnya kita dapat melihat:
- Tim A muncul 3 kali
- Tim B muncul 2 kali
- Tim C muncul 1 kali
Contoh 2: Gunakan n() untuk menambahkan kolom yang menampilkan observasi berdasarkan kelompok
Kode berikut menunjukkan cara menggunakan fungsi n() dengan fungsi mutate() untuk menambahkan kolom ke bingkai tanggal yang berisi jumlah pengamatan per tim :
library (dplyr) #add new column that shows number of observations by team df %>% group_by(team) %>% mutate(count = n()) # A tibble: 6 x 5 # Groups: team [3] team points assists rebounds count 1 to 22 10 9 3 2 to 25 12 8 3 3 to 25 9 5 3 4 B 20 4 10 2 5 B 29 11 14 2 6 C 13 10 12 1
Kolom baru yang disebut count berisi jumlah tim untuk setiap baris dalam bingkai data.
Contoh 3: Gunakan n() untuk memfilter berdasarkan observasi berdasarkan kelompok
Kode berikut menunjukkan cara menggunakan fungsi n() dengan fungsi filter() untuk memfilter bingkai data agar hanya menampilkan baris di mana tim muncul lebih dari sekali:
library (dplyr) #filter rows where team count is greater than 1 df %>% group_by(team) %>% filter(n() > 1 ) # A tibble: 5 x 4 # Groups: team [2] team points assists rebounds 1 A 22 10 9 2 A 25 12 8 3 to 25 9 5 4 B 20 4 10 5 B 29 11 14
Perhatikan bahwa bingkai data yang dihasilkan hanya berisi baris dengan tim “A” atau “B”, karena ini adalah satu-satunya tim yang jumlahnya lebih besar dari satu.
Sumber daya tambahan
Tutorial berikut menjelaskan cara menggunakan fungsi umum lainnya di R:
Cara menggunakan fungsicross() di dplyr
Cara menggunakan fungsi relokasi() di dplyr
Cara menggunakan fungsi irisan() di dplyr