Skip links

MENCARI NILAI FREKUENSI DATA KATEGORIK PADA DATA FRAME DENGAN MENGGUNAKAN R studio

MENCARI NILAI FREKUENSI DATA KATEGORIK PADA DATA FRAME DENGAN MENGGUNAKAN R studio

Penulis: Sabil

Tabel distribusi frekuensi dibuat untuk mengetahui frekuensi dari sekumpulan data kategorik. Jika data kita berupa data frame maka kita harus memperhatikan jenis data yang berada dalam data frame tersebut. Apakah berupa data string atau numerik (kategori numerik). Dengan menggunakan software R ada beberapa cara untuk mendapatkan nilai frekuensi dari sekumpulan data kategorik.

  1. Cara pertama dapat menggunakan function table()

data1=c(‘v’,’a’,’a’,’a’,’x’,’x’,’a’,’o’)

data2=c(‘a’,’a’,’v’,’v’,’x’,’x’,’x’,’o’)

data3=c(1,2,3,4,4,4,2,2)

data=as.data.frame(cbind(data1,data2,data3))

> f1=table(data[,1])
> f1
					
a o v x 
4 1 1 2 
> class(f1)
[1] "table"
Untuk merapikannya bisa digunakan as.data.frame()
> f1 = as.data.frame(f1)
> f1
					
   Var1 Freq
1    a    4
2    o    1
3    v    1
4    x    2

Untuk merubah nama Var1 dapat menggunakan function  names()

> names(f1)[1]='data1'> f1  data1 Freq
1     a    4
2     o    1
3     v    1
4     x    2
> f2=table(data[,2])
					
> f3=table(data[,3])
					
> f2
					
a o v x 
2 1 2 3 
> f3
					
1 2 3 4 
1 3 1 3 

Namun cara prtama ini hanya bisa memanggil satu-satu kolom untuk mencari frekuensi dari masing-masing variabel. 2. Cara kedua dapat menggunakan function table() dan apply()

Contoh 1

data1=c(‘v’,’a’,’a’,’a’,’x’,’x’,’a’,’o’)

data2=c(‘a’,’a’,’v’,’v’,’x’,’x’,’x’,’o’)

data=as.data.frame(cbind(data1,data2))

> frequenc = apply(data,2, table)
> frequenc
					
    data1 data2
a     4     2
o     1     1
v     1     2
x     2     3
Jika data yang digunakan tidak memiliki kategori yang sama maka dengan menggunakan cara ini dengan otomatis memisahkan hasilnya, sehingga tidak seperti tampilan pada contoh 1, berikut contohnya 
Contoh 2

Data3=c(‘v’,’a’,’a’,’a’,’x’,’x’,’a’,’o’)

Data4=c(‘a’,’a’,’v’,’v’,’x’,’x’,’x’,’x’)

datax=as.data.frame(cbind(data3,data4))

> frequenc = apply(datax,2, table)
> frequenc
$data3
a o v x 
4 1 1 2 
$data4
a v x 

2 2 4 3. Cara ketiga menggunakan function table() ,summary() dan lapply()

data1=c(‘v’,’a’,’a’,’a’,’x’,’x’,’a’,’o’)

data2=c(‘a’,’a’,’v’,’v’,’x’,’x’,’x’,’o’)

data3=c(1,2,3,4,4,4,2,2)

data=as.data.frame(cbind(data1,data2,data3))

> lapply(data, function(x) {
if (is.numeric(x)) return(summary(x))
if (is.factor(x)) return(table(x))
})
$`data1`
x
a o v x 
4 1 1 2 
$data2
x
a o v x 
2 1 2 3 
$data3
x
1 2 3 4 

1 3 1 3 4. Cara keempat menggunakan function count() pada package plyr dan apply()

> library(plyr)
> ds <- matrix(c(sample(1:3,6,replace=T),
sample(4:6,6,replace=T)),ncol=2)
> ds
					
      [,1] [,2]
[1,]    3    5
[2,]    2    6
[3,]    1    6
[4,]    2    4
[5,]    3    5
[6,]    2    6
> apply(ds,2,count)
[[1]]
  x freq
1 1    1
2 2    3
3 3    2
[[2]]
  x freq
1 4    1
2 5    2
3 6    3
Menggabungkan data dengan data string
> ds <- matrix(c(sample(1:3,6,replace=T),
sample(4:6,6,replace=T)),ncol=2)
					
> data3=c('a','a','v','v','x','x')
> cc=as.data.frame(cbind(ds,data3))
> cc
  V1 V2 data3
1  3  5     a
2  2  6     a
3  1  6     v
4  2  4     v
5  3  5     x
6  2  6     x
					
> apply(cc,2,count)
$`V1`
  x freq
1 1    1
2 2    3
3 3    2
$V2
  x freq
1 4    1
2 5    2
3 6    3
$data3
  x freq
1 a    2
2 v    2

3 x 2 5. Cara kelima membuat function dengan gabungan package dplyr

library(dplyr)

b=function(x){

panjangcol=ncol(x)

for (i in 1:panjangcol) {

dd=x %>%

group_by(x[,i]) %>%

tally

print(as.data.frame(dd))

flush.console()

}

}

data1=c(‘v’,’a’,’a’,’a’,’x’,’x’,’a’,’o’)

data2=c(‘a’,’a’,’v’,’v’,’x’,’x’,’x’,’x’)

data=as.data.frame(cbind(data1,data2))

> b(data)
					
 x[, i] n
1      a 4
2      o 1
3      v 1
4      x 2
  x[, i] n
1      a 2
2      v 2
3      x 4

Namun cara lima hanya untuk data string.

Sekian dan Terima kasih jika ada saran dan masukan sangat penulis harapkan

Sumber:

https://www.r-bloggers.com/how-to-get-the-frequency-table-of-a-categorical-variable-as-a-data-frame-in-r/
https://www.quora.com/How-do-I-generate-a-summary-table-with-frequencies-for-all-variables-columns-in-RStudio

Leave a comment

This website uses cookies to improve your web experience.
Beranda
Konsultasi
Call Center
Cari Artikel
× Add a menu in "WP Dashboard->Appearance->Menus" and select Display location "WP Bottom Menu"