Cara membagi data menjadi kelompok berukuran sama di r
Anda dapat menggunakan fungsi cut_number() dari paket ggplot2 di R untuk membagi vektor menjadi beberapa kelompok dengan ukuran yang sama.
Fungsi ini menggunakan sintaks dasar berikut:
angka_potong(x,n)
Emas:
- x: Nama vektor digital yang akan dibagi
- n: Jumlah kelompok
Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.
Contoh: Cara membagi data menjadi kelompok-kelompok dengan ukuran yang sama di R
Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang poin yang dicetak oleh 12 pemain bola basket berbeda
#create data frame df <- data. frame (player=LETTERS[1:12], points=c(1, 2, 2, 2, 4, 5, 7, 9, 12, 14, 15, 22)) #view data frame df player points 1 to 1 2 B 2 3 C 2 4 D 2 5 E 4 6 F 5 7 G 7 8:9 a.m. 9 I 12 10 D 14 11K15 12 L 22
Terkait: Cara menggunakan fungsi LETTERS di R
Kita dapat menggunakan fungsi cut_number() dari paket ggplot2 untuk membuat kolom baru bernama grup yang membagi setiap baris bingkai data menjadi salah satu dari tiga grup berdasarkan nilai di kolom poin :
library (ggplot2) #create new column that splits data into three equal sized groups based on points df$group <- cut_number(df$points, 3) #view updated data frame df player points group 1 To 1 [1,3.33] 2 B 2 [1,3.33] 3 C 2 [1,3.33] 4 D 2 [1,3.33] 5 E 4 (3.33.10] 6 F 5 (3.33.10] 7 G 7 (3.33.10] 8 A.M. 9 (3.33.10] 9 I 12 (10.22] 10 J 14 (10.22] 11 K 15 (10.22] 12 L 22 (10.22]
Masing-masing dari 12 pemain ditempatkan di salah satu dari tiga grup berdasarkan nilai yang tertera di kolom poin .
Dari hasilnya kita dapat melihat bahwa ada 3 kelompok berbeda:
- kelompok 1: nilai poin antara 1 dan 3,33.
- kelompok 2: nilai poin antara 3,33 dan 10.
- kelompok 3: nilai poin antara 10 dan 22.
Kita dapat melihat bahwa empat pemain telah ditempatkan di setiap grup.
Jika Anda ingin kolom grup menampilkan grup sebagai nilai integer, Anda dapat menggabungkan fungsi cut_number() dalam fungsi as.numeric() :
library (ggplot2) #create new column that splits data into three equal sized groups based on points df$group <- as. numeric (cut_number(df$points, 3)) #view updated data frame df player points group 1 A 1 1 2 B 2 1 3 C 2 1 4 D 2 1 5 E 4 2 6 F 5 2 7 G 7 2 8:92 a.m. 9 I 12 3 10 D 14 3 11 K 15 3 12 L 22 3
Kolom grup baru sekarang berisi nilai 1, 2, dan 3 untuk menunjukkan pemain tersebut termasuk dalam grup mana.
Sekali lagi, setiap grup terdiri dari empat pemain.
Catatan : Untuk membagi kolom titik menjadi lebih dari tiga kelompok, cukup ganti angka 3 pada fungsi cut_number() dengan angka yang berbeda.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara membagi bingkai data di R
Cara membagi data menjadi set pelatihan dan pengujian di R
Cara melakukan pengelompokan data di R