Cara menggunakan fungsi tapply() di r (dengan contoh)


Fungsi tapply() di R dapat digunakan untuk menerapkan fungsi pada suatu vektor, yang dikelompokkan berdasarkan vektor lain.

Fungsi ini menggunakan sintaks dasar berikut:

penyadap(X, INDEKS, MENYENANGKAN, ..)

Emas:

  • X : Sebuah vektor untuk menerapkan suatu fungsi
  • INDEX : Vektor yang akan dikelompokkan
  • FUN : Fungsi untuk diterapkan

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktik dengan bingkai data berikut di R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(14, 19, 13, 8, 15, 15, 17, 19),
                 assists=c(4, 3, 3, 5, 9, 14, 15, 12))

#view data frame
df

  team position points assists
1 AG 14 4
2 AG 19 3
3 AF 13 3
4 AF 8 5
5 BG 15 9
6 BG 15 14
7 BF 17 15
8 BF 19 12

Contoh 1: menerapkan fungsi ke variabel, dikelompokkan berdasarkan variabel

Kode berikut menunjukkan cara menggunakan fungsi tapply() untuk menghitung nilai rata-rata poin , yang dikelompokkan berdasarkan tim :

 #calculate mean of points, grouped by team
tapply(df$points, df$team, mean)

   AB
13.5 16.5

Dari hasilnya kita dapat melihat:

  • Nilai rata-rata poin tim A adalah 13,5 .
  • Nilai rata-rata poin tim B adalah 16,5 .

Perhatikan bahwa Anda juga dapat menyertakan argumen tambahan setelah fungsi, seperti na.rm , untuk menunjukkan bahwa Anda ingin menghitung rata-rata sambil mengabaikan nilai NA dalam bingkai data:

 #calculate mean of points, grouped by team
tapply(df$points, df$team, mean, na. rm = TRUE )

   AB
13.5 16.5

Contoh 2: menerapkan fungsi pada suatu variabel, dikelompokkan berdasarkan beberapa variabel

Kode berikut menunjukkan cara menggunakan fungsi tapply() untuk menghitung nilai rata-rata poin , yang dikelompokkan berdasarkan tim dan posisi :

 # calculate mean of points, grouped by team and position
tapply(df$points, list(df$team, df$position), mean, na. rm = TRUE )

FG
A 10.5 16.5
B 18.0 15.0

Dari hasilnya kita dapat melihat:

  • Nilai rata-rata poin tim A dan posisi F adalah 10,5 .
  • Nilai rata-rata poin tim A dan posisi G adalah 16,5 .
  • Nilai rata-rata poin tim B dan posisi F adalah 18,0 .
  • Nilai rata-rata poin tim B dan posisi G adalah 15.0 .

Catatan : Dalam contoh ini, kita telah mengelompokkan berdasarkan dua variabel, namun kita dapat memasukkan variabel sebanyak yang kita inginkan ke dalam fungsi list() untuk mengelompokkan lebih banyak variabel.

Sumber daya tambahan

Tutorial berikut menjelaskan cara menggunakan fungsi umum lainnya di R:

Cara menggunakan fungsi dim() di R
Cara menggunakan fungsi table() di R
Cara menggunakan fungsi sign() di R

Tambahkan komentar

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