P.S.Pudyastuti's Lovely Rooms…

Learning is a long-life process, so it's never late to learn…

Menyimpan Output Di Beberapa File

Leave a comment

Dalam pemrograman dengan menggunakan R, menyimpan hasil running / output dalam beberapa file sekaligus dengan menggunakan loop sangat mudah dilakukan. Output bisa disimpan dalam beragam format, seperti .txt, .csv, .jpg, .png, .wmf, dll. Berikut ini contoh script untuk menyimpan output yang berupa grafik dalam format .jpg dan .pdf.

Data yang saya gunakan sama dengan data pada tulisan sebelumnya tentang koefisien korelasi, dengan nama file data adalah “Pdaily.csv”. Berikut ini adalah screenshot dari file data yang saya gunakan.

pdaily-pic

Dalam contoh ini, saya ingin menggambar grafik time series tiap stasiun, yaitu stasiun A, B, C, D, E, F, G, dan H dan menyimpan masing-masing grafik untuk tiap stasiun dalam file tersendiri. Jika dilakukan satu per satu, tentu akan memakan waktu lebih lama. Dengan menggunakan R, kita bisa mempersingkat waktu yang digunakan. Contoh script untuk menggambar grafik time series tiap stasiun dan menyimpan masing-masing grafik dalam file .jpg dan .pdf adalah sebagai berikut.

setwd(“E:/PSP1/progR”)

P <- read.csv(“Pdaily.csv”,header=TRUE) #membaca data dari file .csv
names(P) #mencetak header/judul tiap kolom file data di layar

#mendefinisikan nama file sama dengan judul kolom data ke 2 – 9
files.name <- names(P[,2:9])

#loop perintah untuk menggambar grafik data dan menyimpannya di beberapa file dalam format jpeg
for(i in files.name)  {
     jpeg(file=paste(i , “sta.jpg”))
    plot.ts(ts(P[i]),main=paste(“Station “,i),xlab=”Day”,ylab=”Daily Rainfall (mm)”)
    dev.off()
}

#loop perintah untuk menggambar grafik data dan menyimpannya di beberapa file dalam format pdf
for(i in files.name) {
      pdf(file=paste(i , “sta.pdf”))
      plot.ts(ts(P[i]),main=paste(“Station “,i),xlab=”Day”,ylab=”Daily Rainfall (mm)”)
     dev.off()
}

Dari contoh di atas, maka akan terdapat 8 file output dalam format .jpg dan 8 file output dalam format .pdf. Masing-masing ada 8 file karena pada contoh ini terdapat 8 stasiun pengukur data hujan, yaitu stasiun A – H.

Berikut ini salah satu output yang disimpan dalam file .jpg.

G sta

Sedangkan gambar di bawah ini adalah screenshot contoh salah satu output yang disimpan dalam file .pdf.

R-picpdf

Contoh berikutnya dengan menggunakan data debit maksimum sungai di beberapa kota yang saya simpan di file Qkota.csv. Format data tersebut sama dengan contoh data di atas. Berikut ini contoh script untuk menggambar histogram data debit maksimum dan growth curve dari debit maksimum di lokasi tersebut dengan menggunakan distribusi Gumbel dan Pearson Type 3 untuk mengetahui kala ulang / return period di masing-masing lokasi. Output dari hitungan disimpan di file jpeg dengan tiap lokasi disimpan di file yang berbeda.

library(lmom)

qm <- read.csv(“Qkota.csv”,header=TRUE)

files.name <- names(qm[,2:8])

#menggambar histogram

files.name <- names(qm[,2:8])
for(i in files.name) {
qm1 <- qm[,i]
jpeg(file=paste(i,” H.jpg”))
hist(qm2,col=”lightblue”,main=paste(“Histogram Q maksimum di “,i),cex.main=1.1,ylim=c(0,30),ylab=”Frekuensi”,xlab=”Q maksimum (m3/dtk)”)
dev.off()
}

#menggambar growth curve

for(i in files.name) {
qm1 <- qm[,i]
qm2 <- na.exclude(qm1)
jpeg(file=paste(i,” kalaulang.jpg”))
evplot(qm2,xlim=c(-5,5),ylim=c(0,6000),ylab=”Q maksimum (m3/dtk)”,pch=17,col=”blue”,main=paste(“Growth Curve di “,i),col.main=”darkblue”,cex.main=1.1)
evdistq(quagum, pelgum(samlmu(qm2)), col=”red”,lwd=1)
evdistq(quape3, pelpe3(samlmu(qm2)), col=”darkgreen”,lwd=1)
legend(“topleft”, legend=c(“Gumbel”,”Pearson type 3″), cex=0.8,lty=1,col=c(“red”,”darkgreen”))
dev.off()
}

Di bawah ini salah satu output dari gambar histogram, yaitu histogram untuk lokasi di Kota A, dan salah satu output dari growth curve untuk lokasi di Kota D.

Kota.A  H

Kota.D  kalaulang

Mudah-mudahan bermanfaat, terutama untuk para mahasiswa…🙂

Author: P.S.Pudyastuti

I am an academic staff at Civil Engineering Department, Faculty of Engineering, Universitas Muhammadiyah Surakarta - Indonesia. I got my Bachelor Degree (ST) from Gadjah Mada University, Indonesia, and Master Degree (M.Sc) from Loughborough University, England. I am married and have got 3 children.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s