PEMROGRAMAN
Abdul Kudus, SSi., MSi., PhD.
e-mail: 1) akudus69@yahoo.com
2) kudus@unisba.ac.id
blog: abdulkudus.staff.unisba.ac.id
R
R adalah software open-source untuk
pemrograman statistik.
open-source = gratis
R dibangun berdasarkan bahasa pemrograman S,
yang diciptakan oleh John Chambers dkk di
Laboratorium Bell pada tahun 1976.
Pada tahun 1993, Robert Gentleman dan Ross
Ihaka di University of Auckland bereksperimen
dengan bahasa S ini. Hasil eksperimennya disebut
R.
Sejak tahun 1995, R menjadi open-source dan
ratusan ilmuwan dunia bersama-sama
mengembangkannya.
S-Plus adalah software komersial yang juga
Syntax R
> 1:20
[1] 1 2 3 4 5 6 7 8
[13] 13 14 15 16 17 18 19 20
9 10 11 12
Vektor
Perintah c() digunakan untuk membuat vektor data.
> c(0, 7, 8)
[1] 0 7 8
Kita juga bisa menyimpannya dalam suatu obyek.
> x <- c(0, 7, 8) # x : vektor dgn 3 elemen
Untuk melihatnya kita ketik nama obyeknya
> x
[1] 0 7 8
gabung[18]
] 7
gabung[c(1,5,17)]
] 5 9 0
gabung[2:5]
] 6 7 8 9
gabung[-1]
1] 6 7 8
3] 18 19 20
9 10 11 12 13 14 15 16 17
0 7 8
Vektor Aritmetik
Mengalikan setiap elemen dari suatu vektor dengan
skalar:
> x * 3
[1] 0 21 24
Tambah (+), kurang (-) dan bagi (/) juga bisa
dilakukan dgn cara yang sama
> y <- x - 5
> x ^ 3 # x dipangkatkan 3
> y ^ x # setiap unsur y dipangkatkan dengan
setiap unsur x yang bersesuaian.
Vektor Berpola
Operator : digunakan untuk membuat barisan
bilangan bulat. Vektor berpola dapat dibuat dengan
perintah seq dan rep. Contoh barisan bilangan ganjil
yang kurang dari atau sama dengan 21 dibuat
dengan cara:
> seq(1, 21, by=2)
Pola berulang dibuat dengan rep(), contoh:
> rep(3, times=12) # ulang nilai 3, 12 kali
[1] 3 3 3 3 3 3 3 3 3 3 3 3
> rep(seq(2, 20, by=2), 2) # ulang pola 2
4 ... 20, dua kali
[1] 2 4 6 8 10 12 14 16 18 20 2 4 6
8 10 12 14 16 18 20
> rep(c(1, 4), c(3, 2)) # ulang 1, 3 kali dan
4, 2 kali
[1] 1 1 1 4 4
Membuat Matriks
Salah satu cara membuat matriks adalah dengan
perintah matrix().
> y <> y[,2]
matrix(c(1,2,3,4),nrow=2,ncol=
[1] 3 4
2)
diisi kolom per kolom
>y
[,1] [,2]
[1,] 1lain
3 membuatnya adalah menyatakan unsur secara
Cara
[2,] 2 4
sendiri-sendiri
> y <>y
matrix(nrow=2,ncol=2)
[,1] [,2]
> y[1,1] <- 1
[1,] 1 3
> y[2,1] <- 2
[2,] 2 4
> y[1,2] <- 3
> y[2,2] <- 4
> y
[,1] [,2]
[1,]11 12
[2,]21 22
[3,]31 32
> y[2:3,]
[,1] [,2]
[1,]21 22
[2,]31 32
> y[2:3,2]
[1] 22 32
z adalah matriks
> attributes(z)
$dim
[1] 4 2
> attributes(r)
NULL
> str(z)
int [1:4, 1:2] 1 2 3 4 5 6
78
> str(r)
> x <matrix(nrow=3,ncol=3)
> y <matrix(c(4,5,2,3),nrow=2)
> y
[,1] [,2]
[1,] 4 2
[2,] 5 3
> x[2:3,2:3] <- y
> x
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA 4 2
[3,] NA 5 3
> y
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
> y[-2,]
[,1] [,2]
[1,] 1 4
[2,] 3 6
>x
1] 12 5 13 16 8
> x <- c(x,20) # tambahkan unsur 20
>x
1] 12 5 13 16 8 20
> x <- c(x[1:3],20,x[4:6]) # sisipkan 20
>x
1] 12 5 13 20 16 8 20
> x <- x[-2:-4] # hapus unsur ke-2 sampai ke-4
>x
1] 12 16 8 20
Perintah cbind
Untuk mengikat / menggandengkan vektor-vektor
dalam kolom per kolom menjadi matriks
>
>
>
>
Perintah dim
Untuk mengetahui dimensi dari obyek
> dim(hasil)
[1] 4 3
artinya 4 baris dan 3 kolom
Perintah nrow
Untuk mengetahui banyaknya baris dari obyek
Perintah ncol
Untuk mengetahui banyaknya kolom dari obyek
Perintah length
Untuk mengetahui banyaknya unsur dari obyek
> nrow(hasil)
[1] 4
> ncol(hasil)
[1] 3
> length(hasil)
[1] 12
, , 2
[,1] [,2] [,3] [,4]
[1,]
13
16
19
22
[2,]
14
17
20
23
[3,]
15
18
21
24
1
2
3
1
2
3
13
14
4
15
5
6
16
17
7
18
8
9
19 22
20 23
10
21 24
11
12
> firsttest
[,1] [,2]
[1,] 46 30
[2,] 21 25
[3,] 50 50
>
secondtest
[,1] [,2]
[1,] 46 43
[2,] 41 35
[3,] 50 50
>
tests[3,2,1]
[1] 48
> tests
,,1
[,1] [,2]
[1,] 46 30
[2,] 21 25
[3,] 50 48
,,2
[,1] [,2]
[1,] 46 43
[2,] 41 35
[3,] 50 49
Seperti halnya
kita membuat
array berdimensi
3 dgn
menggabungkan
dua matriks,
maka kita juga
bisa buat array
berdimensi 4 dgn
menggabungkan
dua atau lebih
array berdimensi
3.
List
List adalah struktur data yang bisa berisi lebih dari
satu jenis data (numerik, karakter dll) dan lebih dari
satu
data "a",
(vektor
dll) 1 + 4i)
> x struktur
<- list(1,
TRUE,
> x
[[1]]
[1] 1
[[2]]
[1] "a"
[[3]]
[1] TRUE
[[4]]
[1] 1+4i
> # Contoh list berisi 4 komponen > # string (karakter), vektor numerik, matriks, dan
vektor karakter
> x1 <- "List buatanku"
> x2 <- c(25, 26, 18, 39)
> x3 <- matrix(1:10, nrow=5)
> x4 <- c("satu", "dua", "tiga")
> mylist <- list(judul=x1, vektor=x2, matrik=x3,
vektorstring=x4)
> mylist
$judul
[1] "List buatanku"
$vektor
[1] 25 26 18 39
$matrik
[,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10
$vektorstring
[1] "satu" "dua"
"tiga"
sama
Data Frame
> as.data.frame(M)
> as.vector(A)
Jika tidak tahu apa struktur data dari suatu obyek,
maka dapat diperiksa sbb:
> is.data.frame(M)
> is.vector(A)
Atau dapat ditampilkan melalui perintah class
sbb:
> class(M)
Penggunaan NA
m banyak rumus statistika, kita harus mengabaikan data hil
> x <- c(88,NA,12,168,13)
>x
[1] 88 NA 12 168 13
> mean(x)
[1] NA
> mean(x,na.rm=TRUE)
[1] 70.25
> x <c(88,NULL,12,168,13)
> mean(x)
[1] 70.25