Terdapat beberapa package yang bisa digunakan untuk melakukan visualisasi data. Package standar grafik adalah graphics, tetapi terdapat beberapa package graphics lain seperti: lattice, grid, dan ggplot2
Package yang akan digunakan dalam Pemrograman Grafik adalah package standar untuk grafik adalah graphics.
Pacakge graphics dalah package dasar dalam R. Sehingga tanpa dilakukan pemanggilan pacakge, fungsi di dalam R sudah bisa digunakan.
Akan dibuat beberapa bentuk plot menggunakan fungsi plot() berdasarkan data vektor di bawah :
usia=c(23,33,21,54,31,37,30,38,44,28,45,21,46,44,30,25)
gaji=c(4,10,3.5,30,15,15,28,18,25,6,9,22,30,10,9,10)Terdapat beberapa tipe plot yaitu :
Dapat digunakan dengan menambahkan type=“p” (point). Tipe ini merupakan tipe default dari plot()
Selanjutnya dapat dirubah bentuk titiknya menjadi karakter/simbol seperi *,^, atau # dengan pch dan mengatur ketabalan karakternya dengan cex :
Dapat digunakan dengan menambahkan type=“o” (overplotted)
Dapat digunakan dengan menambahkan type=“l” (line)
Akan dibuat plot sin(X) sebagai berikut
Selanjutnya tipe grafik untuk ds=istribusi diskret seperti Poisson adalah seperti di bawah. Dengan cara membangkitkan data berdistribusi Poisson (rpois) dan memasukkan paramternya, maka diperoleh grafik berikut
Akan dibuat berbagai perbandingan kurva dengan mean dan standar deviasai yang beragam.Terlihat bahwa semakin kecil standar deviasi, maka semakin ramping kurvanya.
x<-seq(-5,5,by=0.1)
plot(x, dnorm(x, sd=1), type="l",ylab="", main=expression(paste("plot distribusi normal dengan bermacam ",mu," dan ",sigma^2)))
lines(x,dnorm(x,sd=2,mean=0),lty=2,col="yellow",lwd=3)
lines(x,dnorm(x,sd=3,mean=0),lty=4,col="red",lwd=3)
lines(x,dnorm(x,sd=1,mean=-3),lty=3,col="green",lwd=3)
lines(x,dnorm(x,sd=1,mean=3),lty=3,col="blue",lwd=3)
abline(v=0)
legend("bottomleft", col=c("black","yellow","red","green","blue"),lty=c(1,2,4,3,3),lwd=c(1,3,3,3,3),
c(expression(paste(mu,"=0 & ",sigma,"=1")),
expression(paste(mu,"=0 & ",sigma,"=2")),
expression(paste(mu,"=0 & ",sigma,"=3")),
expression(paste(mu,"=-3 & ",sigma,"=1")),
expression(paste(mu,"=3 & ",sigma,"=1"))))Beberapa fungsi tambahan pada plot, dapat digunakan sebagai pelangkap plot itu sendiri. Pada contoh di bawah akan ditambahkan fungsi garis (lines) dan lingkaran (polygon).
xframe=c(0,50,50,0,0)
yframe=c(0,0,50,50,0)
plot(xframe,yframe,type="l",main="Emoticon_Smile",xlab="",ylab="")
polygon(xframe,yframe)
x1=c(0,50,50,0,0)
y1=c(25,25,50,50,25)
lines(x1,y1,col="black")
polygon(x1,y1,col="black")
x4=c(0,50,50,0,0)
y4=c(0,0,25,25,0)
lines(x4,y4,col="maroon")
polygon(x4,y4,col="maroon")
t=seq(0,2*pi,0.001)
xling=25+15*cos(t)
yling=25+15*sin(t)
polygon(xling,yling,col="yellow")
lines(xling,yling,col="yellow")
t=seq(0,2*pi,0.001)
xmata=20+3*cos(t)
ymata=30+3*sin(t)
lines(xmata,ymata,lwd=2)
polygon(xmata,ymata,col="white")
t=seq(0,2*pi,0.001)
xmata2=30+3*cos(t)
ymata2=30+3*sin(t)
lines(xmata2,ymata2,lwd=2)
polygon(xmata2,ymata2,col="white")
t=seq(0,2*pi,0.001)
xmata3=20+2*cos(t)
ymata3=30+2*sin(t)
lines(xmata3,ymata3)
polygon(xmata3,ymata3,col="black")
t=seq(0,2*pi,0.001)
xmata4=30+2*cos(t)
ymata4=30+2*sin(t)
lines(xmata4,ymata4)
polygon(xmata4,ymata4,col="black")
xhidung=c(24,26)
yhidung=c(22,22)
lines(xhidung,yhidung,lwd=4)
xhidung2=c(26,25)
yhidung2=c(22,24)
lines(xhidung2,yhidung2,lwd=4)
t=seq(-pi,0,0.001)
xmulut=25+5*cos(t)
ymulut=19+5*sin(t)
lines(xmulut,ymulut,lwd=3)
t=seq(-pi,0,0.001)
xmulut2=25+5*cos(t)
ymulut2=18+5*sin(t)
lines(xmulut2,ymulut2,lwd=3)
xmulut3=c(20,30)
ymulut3=c(19,19)
lines(xmulut3,ymulut3,type="l",lwd=3)
t=seq(0,2*pi,0.001)
xpipi=16+3*cos(t)
ypipi=24+3*sin(t)
polygon(xpipi,ypipi,col="maroon")
lines(xpipi,ypipi,col="maroon")
t=seq(0,2*pi,0.001)
xpipi2=34+3*cos(t)
ypipi2=24+3*sin(t)
polygon(xpipi2,ypipi2,col="maroon")
lines(xpipi2,ypipi2,col="maroon")
xkaca1=c(12,17)
ykaca1=c(32,30)
lines(xkaca1,ykaca1,lwd=3)
xkaca2=c(23,27)
ykaca2=c(29.5,29.5)
lines(xkaca2,ykaca2,lwd=3)
xkaca2.5=c(23,27)
ykaca2.5=c(29.75,29.75)
lines(xkaca2.5,ykaca2.5,lwd=3)
xkaca3=c(33,38)
ykaca3=c(30,32)
lines(xkaca3,ykaca3,lwd=3)
z=seq(-1,1,0.009)
x=32+(13*sin(z)*cos(z)*log(abs(z)))
y=33+(13*sqrt(abs(z))*cos(z))
polygon(x,y,col="red")
lines(x,y,type="l",col="red")Untuk membuat beberapa plot dalam satu jendela (window), maka dapat dilakukan dengan menambahkan fungsi mfrow dan memberi informasi berapa jumlah baris dan kolom yang akan dibentuk. Seprti contoh di bawah akan dibat kombinasi 4 plot (2 baris dan 2 kolom).
jendela <- par(mfrow=c(2,2))
hist(gaji)
boxplot(usia)
title("Boxplot Usia")
boxplot(gaji)
title("Boxplot Gaji")
hist(usia)Operasi aljabar sederhana vektor numerik dapat dilakukan dengan menggunakan karakter sebagai berikut : + : penjumlahan - : pengurangan * : perkalian / : pembagian ^ : pangkat %*% : perkalian (vektor/matriks) setara perkalian antara X’X dll
Seperti pada operasi biasa, akan diberi contoh operasi penjumlahan secara simultan dan perkalian :
## [1] 3 5 5 7 7 9 9 11 11 13
## [1] 6 15 20 35 42 63 72 99 110 143
Apabila ingin mencari tahu isi karakter, maka dapat dilakukan dengan fungsi substring()
## [1] "fa I"
## [1] 13
Dengan terlebih dahulu memasukkan data matriks, maka dapat dilakukan perkalian antar matriks :
Apabila ingin mencari nilai invers, maka dapat dilakukan dengan fungsi solve()
## [,1] [,2]
## [1,] 7.333333 -5.583333
## [2,] -6.833333 5.208333
Jika ingin mencari nilai eigen, maka dapat dilakukan dengan fungsi eigen() dan vektro eigen adalah :
## [1] 300.92024465 0.07975535
## [,1] [,2]
## [1,] -0.6059446 -0.7314538
## [2,] -0.7955069 0.6818910
Terdapat beberapa instruksi
anakayam1=function(n)
{
for (i in n:1)
{
cat ("anaka ayam turun",i,"mati satu tinggal",i-1,"\n")
}
}
anakayam1(5)## anaka ayam turun 5 mati satu tinggal 4
## anaka ayam turun 4 mati satu tinggal 3
## anaka ayam turun 3 mati satu tinggal 2
## anaka ayam turun 2 mati satu tinggal 1
## anaka ayam turun 1 mati satu tinggal 0
anakayam2=function(n)
{
repeat
{
cat("anak ayam turun",n,"mati satu tinggal",n-1,"\n")
n=n-1
if(n==0)break
}
}
anakayam2(5)## anak ayam turun 5 mati satu tinggal 4
## anak ayam turun 4 mati satu tinggal 3
## anak ayam turun 3 mati satu tinggal 2
## anak ayam turun 2 mati satu tinggal 1
## anak ayam turun 1 mati satu tinggal 0
anakayam3=function(n)
{
while(n>0)
{
cat("anak ayam turun",n,"mati satu tinggal",n-1,"\n")
n=n-1
}
}
anakayam3(5)## anak ayam turun 5 mati satu tinggal 4
## anak ayam turun 4 mati satu tinggal 3
## anak ayam turun 3 mati satu tinggal 2
## anak ayam turun 2 mati satu tinggal 1
## anak ayam turun 1 mati satu tinggal 0