P.S.Pudyastuti's Lovely Rooms…

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

Bermain R untuk Menghitung Koefisien Korelasi

Leave a comment

Melanjutkan dolanan R yang lama tidak saya tambah konten-nya…hehe. Kali ini saya akan memberikan contoh sederhana script R untuk menghitung koefisien korelasi. Untuk yang belajar atau menekuni statistik, tentu tidak asing dengan analisis korelasi.  Dalam bahasa sederhana, analisis korelasi digunakan untuk mengetahui hubungan antara 2 variabel / peubah. Koefisien korelasi besarnya antara 0 s/d 1 (bisa -1 atau +1). Untuk pemahaman lebih detail silakan dibaca di buku-buku statistik…🙂

Berikut ini contoh menghitung koefisien korelasi data hujan antar stasiun di suatu daerah aliran sungai. Dalam contoh ini ada 12 stasiun pengukur hujan dengan data harian sepanjang 1 tahun (dari 01/01/1972 sampai 31/12/1972). Data hujan di 12 stasiun tersebut saya simpan di file csv dengan nama hujan1.csv seperti gambar di bawah ini :

Screenshot potongan data hujan untuk contoh.

Screenshot potongan data hujan untuk contoh.

Untuk menghitung koefisien korelasi data hujan harian antar stasiun tersebut dengan bantuan R saya gunakan script sebagai berikut :

# Contoh menghitung koefisien korelasi data hujan antar stasiun

setwd(“D:/tuti/Prog/”)

# Membaca data di file hujan1.csv yang berisi data hujan harian dalam setahun
# di 12 stasiun

P <- read.csv(“hujan1.csv”,header=TRUE)

#mendefinisikan data yang dihitung adalah data di kolom 2 – 13
#karena kolom ke – 1 dari data berisi kolom dd/mm/yyyy

hujanku <- P[, c(2:13)]

# menghitung koefisien korelasi data antar stasiun dalam matrik
cor.mat <- cor(hujanku)

# menyimpan matrik hasil hitungan korelasi ke dalam file csv
write.table(cor.mat,”corrhujanku.csv”,row.names=TRUE, col.names=TRUE, sep=”,”)

Hasil running dari script di atas saya simpan di file csv, dan gambar di bawah ini memperlihatkan hasil running dari script di atas.

Sreenshot hasil running contoh script di atas.

Sreenshot hasil running contoh script di atas.

Di file hasil running tersebut, baris judul (A1, A2,…., A12) harus digeser satu sel ke kanan untuk membaca koefisien korelasi antar stasiun. Koefisien korelasi antara stasiun A1 dan A2 dalam contoh di atas adalah 0.386426, antara stasiun A1 dan A12 adalah 0.634146, dan seterusnya.

Berikut ini contoh lain script R untuk menghitung koefisien korelasi, dengan menggunakan fasilitas RStudio, dan dengan input data dari data hujan yang lain. Dari script untuk contoh ini, hasil running yang disimpan di file .csv lebih rapi daripada contoh dengan script di atas, dengan menggunakan perintah “cbind”.

setwd(“E:/PSP1/progR”)
library (boot)

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

hujan <- P[,c(2:9)] #mendefinisikan data yang akan dihitung korelasinya
cor.mat <- cor(cbind(hujan))
cor.mat #menampilkan hasil hitungan di layar monitor
write.csv(cor.mat, file=”corhujan.csv”) #menyimpan hasil running di file .csv

 

r-code-screenshot

Hasil running di monitor seperti gambar berikut.

hasil-dilayar

Hasil running yang disimpan dalam file .csv seperti gambar di bawah ini.

korelasihujan1

Untuk contoh di atas, maka korelasi data hujan antara stasiun A dan B adalah 0.4611, antara B dan C adalah 0.43285, antara C dan D adalah 0.48758, dan seterusnya.

Cukup sederhana bukan? Selamat bermain dengan R…🙂

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