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

Tambahkan komentar

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