Selamat
berakhir pekan sahabat blogger! Apapun aktivitas akhir pekan kalian, sempatkan
waktu untuk membaca ya guys, khususnya bagi kalian yang tertarik atau sedang
memperdalam salah satu bahasa pemrograman yang akan kita bahas di postingan
kali ini, yaitu bahasa pemrograman R.
Nah,
sebelum kita lanjut ke materi kita, baiknya kita kenalan dulu nih dengan
program atau software R itu sendiri. Jadi, Software R merupakan software
bersifat open source atau freeware yang mudah didapat dan
gunakan. R merupakan suatu sistem analisa statistika yang sangat luas
penggunaannya dan hasil kolaborasi penelitian berbagai ilmuwan serta statistisi
di seluruh dunia. R pertama kali diperkenalkan pada tahun 1992 di Universitas
Auckland, New Zealand oleh Ross Ihaka dan Robert Gentleman (yang
mungkin menjadi ide untuk memberikan nama software ini R sesuai dengan
kedua nama depan mereka). Sintaks bahasa R secara umum sama dengan bahasa S
dalam software komersil Splus yang dikembangkan di Bell
Laboratories (sebelumnya AT&T, sekarang Lucent Technologies) oleh John
Chambers dan koleganya.
Software
R adalah suatu kesatuan software yang terintegrasi dengan beberapa fasilitas
untuk manipulasi, perhitungan dan penampilan grafik yang handal. R dapat
melakukan import file dari software lainnya seperti Excel, Minitab, SAS, Stat,
Systat dan EpInfo, dll. R hampir dapat digunakan untuk berbagai bidang, mulai
dari kalkulasi biasa (seperti kalkulator), statistik, ekonometri, geografi,
hingga pemrograman komputer. Selain kelebihan dan kelengkapan fitur-fiturnya,
hal yang terpenting lainnya yakni, R bersifat multiplatform, yakni dapat
diinstall dan digunakan baik pada system operasi Windows, UNIX/LINUX maupun
pada Macintosh. Software R sangat cocok untuk riset, baik statistik,ekonomi,
komputasi numerik dan pemrograman komputer. Karena didukung oleh banyak tenaga
ahli dibidangnya, R layak dijadikan suatu perangkat lunak acuan bagi berbagai
kalangan, terlebih di kalangan akademik (dosen, mahasiswa). Kemudian R memiliki
fitur yang lengkap dan handal serta faktor tanggung jawab moral dan legal/hukum
bukan lagi menjadi kekhawatiran dalam penggunaannya, karena dapat diperoleh
secara GRATIS.
Bagi yang belum memiliki
softwarenya silahkan download dan install terlebih dahulu, software bisa
didapatkan melalui http://www.r-project. org/ atau http://cran.rproject.org/
Ok, tanpa perlu berlama-lama lagi
langsung saja berikut adalah beberapa contoh dasar-dasar bahasa pemrograman R :
1. Demo
Setelah
melakukan instalasi tentunya kita dapat melakukan demonstrasi pada software R tersebut. Beberapa perintah
demo bisa dilihat dengan menjalankan perintah demo()
Sebagai
contoh bisa digunakan fungsi berikut:
> demo(graphics)
2. Operasi
Matematika
Beberapa
operator yang digunakan oleh bahasa R adalah : +, *, ^, -, /, <, <=, >, >=, ==, !=. Adapun beberapa contoh adalah
sebagai berikut :
> 5 + 3 - 1 # Penjumlahan dan pengurangan.
> 2 * 6 / 2 # Perkalian dan pembagian.
> log (10) # Logaritma “base e=2.718282”
> log10(5) # Logaritma “base 10”
> log (10) # Logaritma “base e=2.718282”
> log10(5) # Logaritma “base 10”
> log(10);
log10(10); log2(10) # perhitungan logaritma dalam satu baris
> 7^2 # Pangkat
> sqrt (25) # Akar kuadrat
> pi # Nilai pi
> sqrt (25) # Akar kuadrat
> pi # Nilai pi
> pi*7 # Perkalian dengan nilai Pi
> 1 / 2^2
+ 2 * pi # Pi
atau π adalah konstanta lingkaran.
> exp(2) # fungsi exponential
> exp(2) # fungsi exponential
> 15 %/% 4 # Operasi pembagian dengan hasil nilai bulat
>
round(log(10)) #
Untuk membulatkan gunakan fungsi round()
Kita
juga dapat menyelesaikan problem trigonometri. Untuk mencari sin(300), maka
untuk mengubah menjadi radian harus dikalikan dengan 2Ï€/360 atau pi/180.
> sin(30 *
pi/180)
3. Operasi
vektor, matriks dan array
Fungsi
|
Keterangan
|
> a<-c(1,2,3)
|
#
Pembuatan vektor numerik a yang mempunyai tiga bilangan
|
> b<-c(2:4)
|
#
Pembuatan vektor numerik a yang mempunyai tiga bilangan (2 s/d 4)
|
> a+b
|
#
Penjumlahan vektor a + b
|
> Matriks1<-cbind(a,b)
|
#
Membentuk matrik dari vektor a dan b secara baris (horizontal)
|
> Matriks1
|
#
Memanggil matriks1
|
> Matriks2<-rbind(a,b)
|
#
Membentuk matrik dari vektor a dan b secara kolom
|
> Matriks2
|
#
Memanggil matriks2
|
> Matriks2%*%Matriks1
|
#
Perkalian matriks
|
> Matriks1%*%Matriks2
|
|
> solve(Matriks1%*%Matriks2)
|
#
Inverse matriks
|
>
solve(Matriks2%*%Matriks1)
|
|
>
x<-c(1,3,2,10,5); y<-(3:7)
|
# Dua
perintah dipisahkan oleh semi kolom “;”
|
> x+y
|
#
Menjumlahkan vektor x+y
|
> x*y
|
#
Mengalikan vektor x dan y
|
> x/y
|
# Vektor
x bagi y
|
> x^y
|
# Vektor
x pangkat y
|
>
sum(x)
|
# Jumlah
nilai dari vektor x
|
>
cumsum(x)
|
# Mengembalikan
vektor yang elemennya merupakan jumlah kumulatif dari vektor x
|
>
max(x)
|
# Nilai
maksimal di vektor x
|
>
min(x)
|
# Nilai
minimal di vektor x
|
>
sort(x)
|
# Mengurutkan
nilai dari kecil sampai besar vektor x
|
>
sort(x, decreasing=T)
|
#
Mengurutkan nilai dari besar sampai kecil vektor x
|
>
length(x)
|
# Jumlah
data pada vektor x
|
>
x[x>3]
|
#
Mengecek nilai x>3
|
>
colors<-c("green", "blue", "orange",
"yellow", "red")
|
#
Membuat vektor karakter
|
>
colors
|
#
Memanggil vektor colors
|
>
seq(10)
|
# Membangkitkan
(generate) barisan bilangan 1 sampai 10
|
>
seq(0,1,length=10)
|
#
Membangkitkan barisan bilangan 0 sampai 1
|
>
seq(0,1,by=0.1)
|
#
Membangkitkan barisan bilangan 0 sampai 1 dengan format 0.1
|
> rep(1,3)
|
#
Pembangkitan barisan bilangan yang elemennya merupakan pengulangan (1
sebanyak 4 kali)
|
> c(rep(1,3),rep(2,2),rep(-1,4))
|
#
Pembangkitan barisan dengan beberapa perulangan
|
>
rep("Small",3)
|
#
Perulangan kata "small" sebanyak 3 kali
|
> c(rep("Small",3),rep("Medium",4))
|
#
Perulangan kata "small" dan "Medium"
|
>
rep(c("Low","High"),3)
|
#
Perulangan kata "Low" dan "High" masing-masing sebanyak 3
kali
|
>
matrix(c(1,2,3,4,5,6),3,2)
|
# Membangun
matriks
|
>
array(c(1:12),c(2,3,2))
|
#
Membangun array
|
Data frame merupakan
kumpulan vektor (sebagai kolom) yang berisi data, yang tidak harus dari data
yang sama (misal numerik, karakter, dan sebagainya), tetapi masing-masing kolom
harus memiliki jumlah element yang sama dan setiap kolom memiliki judul kolom.
Untuk memasukan nilai
dari kolom harus menggunakan <-c(....) yang berarti data-data yang
diketikan akan masuk kedalam kolom yang diberi nama. Sebagai contoh dengan
menggunakan data jumlah penduduk bekerja dan pengangguran di Indonesia pada
tahun 1996-2005 seperti pada tabel berikut:
Tabel
1. Data
Jumlah
Penduduk Bekerja dan
Pengangguran di Indonesia tahun
1996–2005
Tahun
|
Bekerja
(Juta Orang)
|
Pengangguran (Juta Orang)
|
1996
|
83,55
|
4,28
|
1997
|
85,05
|
4,18
|
1998
|
87,29
|
5,05
|
1999
|
88,82
|
6,03
|
2000
|
89,84
|
5,81
|
2001
|
90,81
|
8,01
|
2002
|
91,65
|
9,13
|
2003
|
92,81
|
9,94
|
2004
|
93,72
|
10,25
|
2005
|
93,96
|
11,90
|
Sumber:
Sakernas, BPS (http://bps.go.id/)
# Data Jumlah Penduduk Bekerja dan Pengangguran di Indonesia Tahun
1996-2005
Fungsi
|
Keterangan
|
> Tahun <-c (seq (from = 1996, to = 2005))
|
# Membangun vector data tahun
|
> Bekerja <-c (83.55, 85.05, 87.29, 88.82,
89.84, 90.81, 91.65, 92.81, 93.72, 93.96)
|
# Membangun vector data Bekerja
|
> Pengangguran <-c (4.28, 4.18, 5.05, 6.03,
5.81, 8.01, 9.13, 9.94, 10.25, 11.90)
|
# Membangun vector data Pengangguran
|
> Data <- data.frame(Tahun, Bekerja,
Pengangguran)
|
# Membuat data frame dari vector Tahun, Bekerja,
dan Pengangguran
|
> Data
|
# Memanggil data frame “Data”
|
> names(Data)
|
# Mengecek nama variabel dari “Data”
|
> Data[1,]
|
# Mengecek isi data pada baris pertama
|
> Data$Bekerja
|
# Mengecek isi data dari variabel bekerja
|
> Data[,2]
|
# Mengecek isi data pada kolom kedua
|
> mean(Data$Bekerja)
|
# Melihat rata-rata nilai dari variabel bekerja
|
> min(Data$Pengangguran)
|
# Melihat nilai minimum dari variabel
pengangguran
|
> summary (Data)
|
#
Deskriptif dari Data
|
#Input data
> x=c(1,2,4,5,6,7,12,17,19);
> y=c(0,6,4,5,8,7,2,7,9);
#Membuat berbagai macam grafik
> hist(x);
> hist(x, main="Data Pilihan",
xlab="Nilai Data", ylab="Nilai Frekuensi",
col="blue")
>
>
> plot(x)
> plot(x,y,xlab="Nilai Data",
ylab="Nilai Frekuensi",type="l");
> plot(x,y, main="Data Pilihan",
xlab="Nilai Data", ylab="Nilai Frekuensi",
col="blue")
> plot(x, main="Data Pilihan",
xlab="Nilai Data", ylab="Nilai Frekuensi",
col="blue", type="h")
> plot(x, main="Data Pilihan",
col="blue", type="l")
> boxplot(x, main="Data Pilihan",
col="blue")
#Membuat stripchart
> stripchart(Temp~Month,
> data=airquality,
> main="Different strip chart for each
month",
> xlab="Months",
> ylab="Temperature",
> col="brown3",
>
group.names=c("May","June","July","August","September"),
> vertical=TRUE,
> pch=16
> )
#Membuat Kurva
> fx<-function(x)dnorm(x,1,3)
> fy<-function(x)dnorm(x,2,4)
> plot(fx,-10,10)
> curve(fy,add=TRUE)
6.
Beberapa Distribusi Statistik
#Distribusi binomial
> dbinom(3,12,0.9);
> pbinom(3,12,0.9);
> qbinom(0.5,12,0.9);
> qbinom(0.5,12,0.9);
> dbinom(0,10,0.2);
> pbinom(6,10,0.2);
#Distribusi poisson
> dpois(2,4);
> ppois(2,4);
> qpois(0.5,4);
#Distribusi normal
> dnorm(2,1,4);
> pnorm(2,1,4);
> qnorm(0.5,1,4);
> 1-pf(3.6,4,43)
>
1-pt(2.8,21)
>
2*(1-pt(2.8,21))
> data=c(1,3,4,5,6,7,8,9,0,1,2)
> sample(data,3);
9.
Statistik
Deskriptif
Dalam
paket standar R terdapat contoh dataframe atau tabel data yang sudah
tersedia. Sebagai contoh telah tersedia dataframe “cars” yang terdiri
dari dua kolom “speed” dan “distance”.
Ketikkan perintah
“cars” yang merupakan nama dataframe sebagai berikut:
> cars
Dataframe cars
adalah data observasi atas uji coba kecepatan kendaraan dan jarak yang berhasil
ditempuh.
Baris 1 menunjukkan percobaan ke-1 yaitu mobil dengan speed 4 mencapai jarak 2.
Percobaan ke-2 mobil dengan speed 4 mencapai jarak 10 dst.
Kita dapat menyajikan
ikhtisar data tersebut dengan fungsi summary().
> summary(cars)
SELAMAT
MENCOBA!!! :)
nice article kaka...
BalasHapus