0% menganggap dokumen ini bermanfaat (0 suara)
298 tayangan11 halaman

Membaca File Excel di R dengan openxlsx

Dokumen tersebut menjelaskan cara membaca data dari file Excel ke dalam R untuk kemudian digunakan membuat grafik sebaran. Data yang dibaca adalah jumlah mahasiswa per fakultas, program studi, dan tahun angkatan yang disimpan ke dalam variabel data frame."

Diunggah oleh

Alice Park
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
298 tayangan11 halaman

Membaca File Excel di R dengan openxlsx

Dokumen tersebut menjelaskan cara membaca data dari file Excel ke dalam R untuk kemudian digunakan membuat grafik sebaran. Data yang dibaca adalah jumlah mahasiswa per fakultas, program studi, dan tahun angkatan yang disimpan ke dalam variabel data frame."

Diunggah oleh

Alice Park
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Membaca File Excel

 
 
Banyak pengolahan data di R harus membaca dari file Excel. Pada contoh kali ini,  kita akan
menggunakan file yang berisi data jumlah mahasiswa per angkatan per tahun seperti pada
tampilan berikut.

File tersebut bernama [Link], dan akan kita baca dengan fungsi [Link] dari


package openxlsx dengan cara berikut.

library(openxlsx)
mahasiswa <- [Link]("[Link] = "Sheet 1")

Dari code di atas, file yang dibaca dengan fungsi [Link] dan kemudian disimpan sebagai
variable mahasiswa (yang merupakan tipe data frame). File yang dibaca adalah
"[Link]" pada sheet "Sheet 1".
Pada Code Editor sudah disertakan code-code untuk untuk membaca file ini, cobalah
jalankan dan hasilnya akan terlihat sebagai berikut.

> print(mahasiswa)
ANGKATAN Fakultas Prodi Kode JUMLAH
1 2015 Bisnis Akuntansi AKUN 88
2 2016 Bisnis Akuntansi AKUN 85
3 2017 Bisnis Akuntansi AKUN 103
4 2016 Seni dan Desain Arsitek AR 28
5 2017 Seni dan Desain Arsitek AR 45
6 2015 Seni dan Desain Desain Komunikasi Visual DKV 279
7 2016 Seni dan Desain Desain Komunikasi Visual DKV 314
8 2017 Seni dan Desain Desain Komunikasi Visual DKV 337
9 2015 Seni dan Desain Film dan Televisi FTV 284
10 2016 Seni dan Desain Film dan Televisi FTV 274
11 2017 Seni dan Desain Film dan Televisi FTV 300
12 2015 Ilmu Komunikasi Ilmu Komunikasi ILKOM 499
13 2016 Ilmu Komunikasi Ilmu Komunikasi ILKOM 275
14 2017 Ilmu Komunikasi Ilmu Komunikasi ILKOM 313
15 2015 Ilmu Komunikasi Jurnalistik JR 1
16 2016 Ilmu Komunikasi Jurnalistik JR 251
17 2017 Ilmu Komunikasi Jurnalistik JR 186
18 2015 Bisnis Manajemen MAN 169
19 2016 Bisnis Manajemen MAN 163
20 2017 Bisnis Manajemen MAN 160
21 2017 D3 Perhotelan Perhotelan HTL 28
22 2015 ICT Sistem Informasi SI 104
23 2016 ICT Sistem Informasi SI 95
24 2017 ICT Sistem Informasi SI 113
25 2015 ICT Sistem Komputer SK 20
26 2016 ICT Sistem Komputer SK 20
27 2017 ICT Sistem Komputer SK 18
28 2016 ICT Teknik Elektro TE 4
29 2017 ICT Teknik Elektro TE 7
30 2016 ICT Teknik Fisika TF 7
31 2017 ICT Teknik Fisika TF 16
32 2015 ICT Teknik Informatika TI 125
33 2016 ICT Teknik Informatika TI 168
34 2017 ICT Teknik Informatika TI 164
35 2017 ICT Teknik Informatika Dual Degree TID 6

Terlihat hasil pembacaan Excel ini merupakan data frame yang terdiri dari lima kolom -
dengan nama ANGKATAN, Fakultas, Prodi, Kode, dan JUMLAH - dan 35 baris data.
 
Kita akan menggunakan data frame ini sepanjang sisa bab ini, mari kita menutup subbab ini
dengan menampilkan kolom Prodi dari data frame ini, caranya dengan menuliskan perintah
berikut.

print(mahasiswa$Prodi)

Tambahkan pada Code Editor dan jalankan untuk menampilkan hasil berikut.

> print(mahasiswa$Prodi)
[1] "Akuntansi" "Akuntansi"
[3] "Akuntansi" "Arsitek"
[5] "Arsitek" "Desain Komunikasi Visual"
[7] "Desain Komunikasi Visual" "Desain Komunikasi Visual"
[9] "Film dan Televisi" "Film dan Televisi"
[11] "Film dan Televisi" "Ilmu Komunikasi"
[13] "Ilmu Komunikasi" "Ilmu Komunikasi"
[15] "Jurnalistik" "Jurnalistik"
[17] "Jurnalistik" "Manajemen"
[19] "Manajemen" "Manajemen"
[21] "Perhotelan" "Sistem Informasi"
[23] "Sistem Informasi" "Sistem Informasi"
[25] "Sistem Komputer" "Sistem Komputer"
[27] "Sistem Komputer" "Teknik Elektro"
[29] "Teknik Elektro" "Teknik Fisika"
[31] "Teknik Fisika" "Teknik Informatika"
[33] "Teknik Informatika" "Teknik Informatika"
[35] "Teknik Informatika Dual Degree"

Jika semua sudah sesuai, Submit Code untuk melanjutkan ke bagian berikutnya
#Menggunakan package ggplot2

library(ggplot2)

#Menggunakan package openxlsx

library(openxlsx)

#Membaca file [Link]

mahasiswa <- [Link]("[Link] = "Sheet 1")

#Menampilkan data

print(mahasiswa)

#Menampilkan kolom Prodi

print(mahasiswa$Prodi)

Membuat Grafik Sebaran Mahasiswa (2)


Setelah memiliki kemampuan membaca sumber data dari luar yaitu file Excel yang berisi
data jumlah mahasiswa, kita akan kembali menghasilkan grafik sebaran yang sudah kita
lakukan sebelumnya - tapi kali ini dengan hasil pembacaan tersebut.
Pada code editor telah diisi code-code untuk membaca file Excel dan menghasilkan grafik
histogram. Cobalah jalankan, dan jika berhasil maka akan mendapatkan grafik histogram
yang menunjukkan porsi jumlah mahasiswa per fakultas.
Lalu apa perbedaan praktek kita kali ini dengan subbab "Membuat Grafik Sebaran
Mahasiswa (1)"?
Berikut adalah daftar perbedaannya, dari  potongan code dan hasil.
Item Membuat Grafik Membuat Grafik Sebaran Keterangan
Sebaran Mahasiswa (1) Mahasiswa (2)

Sumber fakultas <- c("Bisnis", library(openxlsx) Pada subbab


Data "D3 Perhotelan", "ICT", "Membuat
"Ilmu Komunikasi", info_mahasiswa <- Grafik Sebaran
"Seni dan Desain") [Link]("[Link] Mahasiswa
jumlah_mahasiswa <- [Link]/dataset/[Link]", (1)", variable
c(260, 28, 284, 465, sheet = "Sheet 1") data frame
735) info_mahasisw
akreditasi <- a dibuat secara
c("A","A","B","A","A") manual.
Sedangkan
info_mahasiswa <-
untuk subbab
[Link](fakultas,
"Membuat
jumlah_mahasiswa,
Grafik Sebaran
akreditasi)
Mahasiswa
info_mahasiswa
(2)", variable
data frame
info_mahasisw
a dibaca dari
file Excel.

Parameter gambar <- gambar <- Input untuk


pada ggplot(info_mahasiswa, ggplot(info_mahasiswa, parameter x, y
ggplot aes(x=fakultas, aes(x=Fakultas, y=JUMLAH, dan fill sedikit
y=jumlah_mahasiswa, fill=Fakultas)) berbeda
fill=fakultas)) menyesuaikan
dengan kolom
hasil
pembacaan
dari file.

Hasil Nilai dan label


Grafik yang berbeda
menyesuaikan
dengan data.
Klik tombol Submit Code untuk melanjutkan ke subbab berikutnya.
library(ggplot2)

#Menggunakan package openxlsx

library(openxlsx)

#Membaca file [Link]


mahasiswa <- [Link]("[Link] =
"Sheet 1")

#Membuat kanvas

gambar <- ggplot(mahasiswa, aes(x=Fakultas, y=JUMLAH, fill=Fakultas))

#Menambahkan objek bar chart, simpan kembali sebagai variable gambar

gambar <- gambar + geom_bar(width=1, stat="identity")

#Menggambar grafik

Gambar

Trend Jumlah Mahasiswa dari Tahun ke


Tahun
Grafik histogram sebelumnya cukup baik, tapi informasi yang terkandung masih belum kita
ekplorasi lebih detil. Sebagai contoh, bagaimana melihat trend jumlah mahasiswa per fakultas
dari tahun ke tahun?
Subbab ini akan menunjukkan hal tersebut. Cobalah jalankan semua code yang telah
dilengkapi di code editor, jika berjalan dengan lancar maka akan mendapatkan hasil berikut.
Catatan: Code tidak akan diterangkan pada praktek kali ini, karena melibatkan teknik yang
akan kita bahas di course R lain yaitu "Data Preparation and Wrangling with R" dan "Data
Visualization with ggplot2 in R".

Terlihat dari tahun yang mengalami peningkatan secara konsiten adalah fakultas "ICT" dan
"Seni dan Desain". Terlihat juga, fakultas "D3 perhotelan" baru ada di tahun 2017.  Untuk
fakultas "Bisnis" dan "Ilmu Komunikasi" fluktuatif selama tiga tahun.
Klik tombol Submit Code untuk melanjutkan ke subbab berikutnya.
library(ggplot2)

#Menggunakan package openxlsx

library(openxlsx)

#Membaca file [Link]

mahasiswa <- [Link]("[Link] =


"Sheet 1")

#Menghitung Jumlah Data by Fakultas

summarybyfakultas <- aggregate(x=mahasiswa$JUMLAH,


by=list(Kategori=mahasiswa$Fakultas, Tahun=mahasiswa$ANGKATAN), FUN=sum)

summarybyfakultas <- setNames(summarybyfakultas, c("fakultas","tahun",


"jumlah_mahasiswa"))

summarybyfakultas

summarybyfakultas$tahun = [Link](summarybyfakultas$tahun)

ggplot(summarybyfakultas, aes(x=fakultas, y=jumlah_mahasiswa)) +

geom_bar(stat = "identity", aes(fill = tahun), width=0.8, position =


position_dodge(width=0.8)) +

theme_classic()
Pie Chart
Pie chart masih merupakan chart favorit bagi banyak analis untuk menunjukkan proporsi
data. Kebetulan, jumlah mahasiswa per fakultas adalah kasus proporsi yang bisa ditampilkan
dengan pie chart.
Pada code editor kita telah diisi dengan code yang menghasilkan pie chart dengan
menggunakan fungsi ggplot dan coord_polar. Cobalah jalankan code tersebut, dimana kita
akan mendapatkan hasil berikut.

Terlihat porsi fakultas "Seni dan Desain" dan "Ilmu Komunikasi" menempati porsi terbesar.
Angka 0 s/d 5000 di luar dari pie chart menunjukkan rentang jumlah mahasiswa secara
akumulatif.
Mari kita lihat contoh, mari kita lihat untuk fakultas Bisnis yang menempati porsi pie chart
pada angka 0 dan di bawah 1000 (ditunjukkan dengan anak panah merah).
Ini konsisten dengan informasi dari grafik histogram sebelumnya, bahwa jumlah mahasiswa
memang di bawah angka 1000.

Dan kalau secara insting dari grafik tersebut, jika kita tambahkan jumlah mahasiswa fakultas
"Bisnis", "D3 Perhotelan", dan "ICT" maka totalnya tidak akan mencapai 2000 mahasiswa.
Ini juga sudah tergambarkan di pie chart ini.
Klik tombol Submit Code untuk melanjutkan.
library(ggplot2)
library(openxlsx)
#Membaca file [Link]
mahasiswa <- [Link]("[Link] = "Sheet 1")
#Menghitung Jumlah Data by Fakultas
summarybyfakultas <- aggregate(x=mahasiswa$JUMLAH,
by=list(Kategori=mahasiswa$Fakultas), FUN=sum)
summarybyfakultas <- setNames(summarybyfakultas, c("fakultas","jumlah_mahasiswa"))
piechart<- ggplot(summarybyfakultas, aes(x="", y=jumlah_mahasiswa, fill=fakultas))+
geom_bar(width = 1, stat = "identity")
piechart <- piechart + coord_polar("y", start=0)
piechart <- piechart + ggtitle("Disribusi Mahasiswa per Fakultas")
piechart <- piechart + scale_fill_brewer(palette="Blues")+ theme_minimal()
piechart <- piechart + guides(fill=guide_legend(title="Fakultas"))
piechart <- piechart + ylab("Jumlah Mahasiswa")
piechart

Filtering
Praktek sekaligus demo terakhir adalah mengenai filtering data sebelum ditampilkan dalam
bentuk grafik.
Cara untuk melakukan filtering di data frame adalah dengan menambahkan operator %in%
dengan input berupa vector. Contoh untuk melakukan filtering ini sudah terdapat pada script
di Code Editor.
Jalankan seluruh code tersebut, jika berjalan dengan lancar maka hasilnya akan terlihat
sebagai berikut.

Grafiknya sama dengan subbab "Tren Jumlah Mahasiswa dari Tahun ke Tahun" tapi sudah
dengan filter dua fakultas, yaitu "ICT" dan "Ilmu Komunikasi".
Ini semua bisa terjadi karena ada filtering dengan perintah berikut.

summarybyfakultas[summarybyfakultas$fakultas %in%c("ICT", "Ilmu Komunikasi"),]

Dimana summarybyfakultas$fakultas %in%c("ICT", "Ilmu Komunikasi") artinya


melakukan filter data yang ada di kolom fakultas dari data frame summarybyfakultas.
Sedangkan perintah lengkap summarybyfakultas[summarybyfakultas$fakultas %in
%c("ICT", "Ilmu Komunikasi"),] artinya mengambil data yang sudah terfilter untuk seluruh
kolom.
Dengan demikian, sampai sejauh ini Anda telah diberikan gambaran mengenai kemampuan R
dalam menghasilkan grafik dengan pengolahan data dari Excel. Ini tentunya bisa berpotensi
tinggi untuk membantu Anda sehari-hari.
Namun memang pada bab pengenalan ini kita tidak akan membahas lebih dalam bagaimana
grafik ini dapat dihasilkan dengan variasi yang lebih banyak, begitu juga pengolahan data
seperti filter - tapi di course selanjutnya yaitu "Data Preparation with R" dan "Data
Visualization with R".
Klik tombol Submit Code untuk melanjutkan.
library("ggplot2")

library("openxlsx")

#Membaca file [Link]

mahasiswa <- [Link]("[Link] =


"Sheet 1")

#Menghitung Jumlah Data by Fakultas

summarybyfakultas <- aggregate(x=mahasiswa$JUMLAH,


by=list(Kategori=mahasiswa$Fakultas, Tahun=mahasiswa$ANGKATAN), FUN=sum)

summarybyfakultas <- setNames(summarybyfakultas, c("fakultas","tahun",


"jumlah_mahasiswa"))

summarybyfakultas

summarybyfakultas$tahun = [Link](summarybyfakultas$tahun)

summarybyfakultas[summarybyfakultas$fakultas %in% c("ICT", "Ilmu Komunikasi"),]

ggplot(summarybyfakultas[summarybyfakultas$fakultas %in% c("ICT", "Ilmu


Komunikasi"),], aes(x=fakultas, y=jumlah_mahasiswa)) +

geom_bar(stat = "identity", aes(fill = tahun), width=0.8, position =


position_dodge(width=0.8)) +

theme_classic()

Anda mungkin juga menyukai