Senin, 24 Juli 2017

Contoh Kasus Data Real Problem 2 Variabel dalam Peta dan Klustering menggunakan Program R

Bismillah Assalamua'alaikum Warahmatullahi Wabarakatuh. Terima kasih telah mengunjungi bloq yang bisa dibilang yaaa gak sebagus blog lain.... kali ya hehe.. :3


ok Langsung aja ke dalam topik sesuai dengan judul dalam blogger ini yaitu "Contoh Kasus Data Real Problem 2 Variabel dalam Peta dan Klustering menggunakan Program R". Untuk datanya bisa di download di link bawah ini


Lalu buka program R anda. Terserah mau studio R atau R i12.3 bebas semua bisa :)
Jika belum mempunyai program ini anda bisa cari di web dan mendownload-nya dengan GRATISSSS.....

ok untuk analisis pertama yaitu analisis klustering

1. Analisis Kluster

Tujuan dari analisis kluster ini adalah untuk mengelompokkan data menjadi beberapa kelompok sesuai dengan kemiripan dari data-data tersebut sehingga kita bisa mengetahui data apa saja yang tergolong menjadi golongan 1, 2, dst. Ingat bahwa analisi kluster ini merupakan analisis multivariat (mempunyai variabel lebih dari 2) maka setidaknya kita mempunyai 2 variabel untuk melakukan analisis ini. dalam data link di atas kita mempunyai 2 variabel. Yaitu data curah dan emisi, lalu untuk longitude dan latitude merupakan data untuk letak garis astronomi dari tiap grid.

berikut ini merupakan syntax untuk program R langsung download aja hehehe....

#UNTUK DATA EMISI DAN CURAH PULAU SUMATERA BULAN JANUARI 20 TAHUN


Data1=read.csv(file.choose(),header=T,sep=";")
x=Data1[-1] #menghilangkan variabel 1 pada Data1
names(x)
z=x[-2] #menghilangkan variabel 2 pada data x
names(z)
r=scale(z[-1]) #menghilangkan variabel 1 pada data z lalu distandarisasi-kan
names(r)
r
#mengapa data perlu distandarkan dikarenakan satuan emisi dan curah berbeda

#mengkluster metode k-means dengan k=3
k.means.fit=kmeans(r,3) #k=3
k.means.fit$cluster #untuk melihat kelompoknya

#mengurutkan data kluster berdasarkan bujur, lintang, besar emisi, dan besar curah
o=order(k.means.fit$cluster)
o
data.frame(x$Latitude[o],x$Longitude[o],k.means.fit$cluster[o],x$Emisi[o],x$Curah[o])
#dari sini kita bisa melihat kelompok kluster berapa di titik mana dan berapa emisi, curah hujannya

#melihat gambar kluster dalam 2 dimensi
library(cluster)
clusplot(r, k.means.fit$cluster, main='2D representation of the Cluster solution',
         color=TRUE, shade=TRUE,
         labels=2, lines=0)




#mengkluster dengan metode ward
wssplot <- function(data, nc=15, seed=1234){
  wss <- (nrow(data)-1)*sum(apply(data,2,var))
  for (i in 2:nc){
    set.seed(seed)
    wss[i] <- sum(kmeans(data, centers=i)$withinss)}
  plot(1:nc, wss, type="b", xlab="Number of Clusters",
       ylab="Within groups sum of squares")}
#menentukan berapa kluster yang harus dibentuk
wssplot(r, nc=6)  #untuk nc sendiri dibebaskan mau berapa yang perlu dilihat

d <- dist(r, method = "euclidean") # Euclidean distance matrix.
H.fit <- hclust(d, method="ward")
plot(H.fit) # display dendogram
groups <- cutree(H.fit, k=4) # cut tree into 4 clusters
# draw dendogram with red borders around the 4 clusters
rect.hclust(H.fit, k=4, border="red")



ok untuk interpretasi nya kalo bingung hubungi saya ya.. wkwkwk :v

2. Men-Save dari dalam Program R ke Ms. Excel 

Nah mungkin bagi setiap orang masih bingung gimana caranya mengubah format program R ke excel??
Diapain caranya?? ya diliatin aja wkwkwk... syntaxnya ada di bawah kok yang write.csv kalo syntax yang dibawah ini sebagai contoh aja nyambung ke permasalahan di atas.


#Untuk mensave hasil:
a <- data.frame(x$Latitude[o],x$Longitude[o],k.means.fit$cluster[o],x$Emisi[o],x$Curah[o])

write.csv('output.csv',a) #namanya bebas

Nah terus abis ini selesai kak? pasti muncul pertanyaan.. "Loh kok file-nya gak ada -.-" nah sabar sabar caranya liat di folder my document lalu cari nama file sesuai dengan yang tadi anda tuliskan.............

tetep gak ada juga? berarti dalam R anda direction nya bukan ke my document tapi ke suatu tempat.Coba klik file dalam program anda lalu Change dir.... nah disitu terlihat kalo anda mau mensave file tadi kemana arahnya, tentuin sebebas kalian :)

masih gak nemu juga? hubungi saya aja deh :v

3. Analisis Kluster dalam Peta

nah ini nih yang mungkin bikin orang bingung. gimana sih cara mempetakan data ke dalam suatu daerah jika diketahui data grid longitude (garis bujur) dan latitude (garis lintang) ok langsung saja download syntax dibawah ini... GRATISSSS....

Pertama tama download dulu package "maps" dan packaged "mapdata"
caranya tau kan? tinggal ketik install.packaged() doang kok hehe... atau kalo gak bisa cari di web cran

#PETA DALAM GAMBAR SUMATERA
library(maps)
library(mapdata)
a$my.col="gray"
a$my.col[a$k.means.fit.cluster.o.==1]="orange"
a$my.col[a$k.means.fit.cluster.o.==2]="red"
a$my.col[a$k.means.fit.cluster.o.==3]="yellow"
#cluster 1 oranye, cluster 2 merah, cluster 3 kuning

ppl=100 #pixel
#penyimpanan gambar format png dengan lebar 6x100 , 4*100 dan resolusi 100
png(filename="map_kluster_emisi_dan_curah7.png",width=6*ppl,height=4*ppl,res=100)
op=par(tcl=-.25,mar=c(2,2,1,1))

#menentukan gambar map
map("worldHires",xlim=c(94.875,109.125),ylim=c(-10.875,6.125))
map.axes()
points(a$x.Longitude.o.,a$x.Latitude.o.,pch=19,col=a$my.col) #titik point berdasarkan garis bujur dan lintang

#memberikan keterangan dalam gambar (legenda)
legend("bottomleft",legend=c("1","2","3"),
pch=19,
col=c("orange","red","yellow"),
cex=0.8)

#pemberian judul pada gambar
mtext("Kluster Sumatera",side=3,line=0.5) #maksud dari side 3 adalah letak pemberian judulnya
par(op)
dev.off() #menyelesaikan syntax gambar yang kita ingin buat

TADAA...... dan hasilnya akan muncul seperti ini




Gimana guys... ngerti kan? top markotop kan? atau bingung? hubungin saya aja... siapa tau kita jodoh wkwkwk, untuk asal background saya, bisa dilihat di dalam link bawah ini yaaapss..



Terima kasih banyak kepada Pak Ardhasena sebagai Kepala Bidang Klimatologi di Puslitbang BMKG Kemayoran, Jakarta. Yang telah mengizinkan saya untuk magang di BMKG dan banyak menambah ilmu-limu baru.


Thanks a lot for this website that give information about the statistical solution..



http://rpubs.com/gabrielmartos/ClusterAnalysis

Ok cukup sekian ilmu yang saya telah berikan, kurang lebihnya mohon dimaafkan -/\-
Have fun... :3
Wasaalamu'alaikum Warahmatullahi Wabarakatuh.