A: cara menciutkan teks berdasarkan grup dalam bingkai data


Anda dapat menggunakan metode berikut untuk menciutkan teks menurut grup dalam bingkai data di R:

Metode 1: Kurangi teks berdasarkan grup menggunakan Basis R

 aggregate(text_var ~ group_var, data=df, FUN=paste, collapse='')

Metode 2: Kurangi teks berdasarkan grup menggunakan dplyr

 library (dplyr)

df %>%
  group_by(group_var) %>%
  summarize(text=paste(text_var, collapse=''))

Metode 3: Mengurangi teks berdasarkan kelompok menggunakan data.table

 library (data.table)

dt <- as. data . table (df)

dt[, list(text_var=paste(text_var, collapse='')), by=group_var]

Tutorial ini menjelaskan cara menggunakan setiap metode dalam praktik dengan kerangka data berikut:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward',
                            'Guard', 'Forward', 'Center'))

#view data frame
df

  team position
1A Guard
2 A Guard
3 A Forward
4 B Guard
5B Forward
6B Center

Contoh 1: Mengurangi teks berdasarkan grup menggunakan Basis R

Kode berikut menunjukkan cara mengurangi teks kolom posisi , dikelompokkan berdasarkan kolom tim menggunakan fungsi Aggregate() dari database R:

 #collapse position values by team 
aggregate(position ~ team, data=df, FUN=paste, collapse='')

  team position
1A GuardGuardForward
2 B GuardForwardCenter

Perhatikan bahwa setiap nilai teks di kolom posisi telah diciutkan menjadi satu nilai, dikelompokkan berdasarkan nilai di kolom tim .

Contoh 2: Mengurangi teks berdasarkan grup menggunakan dplyr

Kode berikut menunjukkan cara menciutkan teks di kolom posisi , dikelompokkan berdasarkan kolom tim menggunakan fungsi summarise() dari paket dplyr:

 library (dplyr)

#collapse position values by team
df %>%
  group_by(group_var) %>%
  summarize(text=paste(text_var, collapse=''))

# A tibble: 2 x 2
  team text              
                
1A GuardGuardForward 
2 B GuardForwardCenter

Perhatikan bahwa setiap nilai teks di kolom posisi telah diciutkan menjadi satu nilai, dikelompokkan berdasarkan nilai di kolom tim .

Contoh 3: Mengurangi teks berdasarkan kelompok menggunakan data.table

Kode berikut menunjukkan cara menciutkan teks di kolom Posisi , dikelompokkan berdasarkan kolom Tim menggunakan fungsi dalam paket data.table:

 library (data.table)

#convert data frame to data table
dt <- as. data . table (df)

#collapse position values by team
dt[, list(text_var=paste(text_var, collapse='')), by=group_var]

   team position
1: A GuardGuardForward
2: B GuardForwardCenter

Setiap nilai teks di kolom posisi telah diciutkan menjadi satu nilai, dikelompokkan berdasarkan nilai di kolom tim .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara memilih kolom yang berisi string tertentu di R
Cara menghapus karakter dari string di R
Cara menemukan lokasi karakter dalam string di R

Tambahkan komentar

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