>
> q()
Bila diinginkan untuk membatalkan perintah terakhir maka bias digunakan perintah
CONTROL-C sehingga akan muncul promt > baru.
Bila perintah yang digunakan belum selesai maka R masih akan meminta perintah
tambahan dengan tanda +.
Dalam R huruf kecil dan huruf besar diinterpretasikan secara berbeda sebagai contoh b
dan B diinterpretasikan secara berbeda. Huruf c tidak boleh digunakan karena
merupakan perintah dasar dari R yang digunakan untuk membuat vektor.
Bila ingin mengetahui penggunaan suatu perintah dapat digunakan perintah help seperti
> help(hist)
yang digunakan untuk mengetahui perintah hist. Untuk memberikan keterangan dan
tanpa mengeksekusi perintah itu digunakan tanda # yang dalam bahasa pascal
digunakan perintah { } atau (* *).
Vektor
1
Struktur data yang paling sederhana dalam R adalah vector. Suatu vector adalah suatu
obyek tunggal yang merupakan barisan bilangan, teks atau symbol logika. Suatu vector
dengan nama x terdiri dari bilangan-bilangan 10, 5, 3, 6 dapat dibuat dengan fungsi c.
Dalam hal ini digunakan symbol pemberian <- yang dalam bahasa Pascal digunakan
tanda := . Sebarang bilangan dianggap sebagai vector dengan panjang 1.
> round(y,1)
[1] 10.0 5.0 3.0 6.0 0.6 10.0 5.0 3.0 6.0 10.0 5.0 3.0 6.0
>x
[1] 10 5 3 6
> z <- x*x
>z
[1] 100 25 9 36
Operasi dua vektor tidak harus mempunyai panjang yang sama seperti contoh berikut
ini :
>x
[1] 10 5 3 6
> a <- sqrt(x) + 1
2
abs nilai mutlak
sin cos tan fungsi trigonometri
asin acos atan fungsi hiperbolik
sinh cosh tanh fungsi invers hiperbolik
asinh acosh atanh fungsi eksponensial and logaritma natural
exp log logaritma dengan basis 10
log10 gamma dan fungsi log-gamma
gamma lgamma pembulatan ke bawah, pembulatan ke atas bagian
floor ceiling trunc bulat
round pembulatan
sign tanda
Hal ini dapat terjadi karena vektor pada suku kedua mempunyai panjang 1. Tetapi bila
dua vector yang tidak sama panjang dijumlahkan (dioperasikan) akan terjadi kesalahan
dan muncul pesan berikut :
> z <- x + y
Warning message:
longer object length
is not a multiple of shorter object length in: x + y
>z
Sebaiknya bila digunakan urutan 20:1 akan memberikan indeks menurun. Bila
diinginkan membuat barisan dengan selisih 0,5 digunakan perintah
3
> u <- seq(-3,3,by=0.5)
>u
[1] -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Fungsi rep dapat digunakan untuk mereplikasi suatu vector. Berikut ini contoh
penggunaan fungsi rep.
> rep(1:4,4)
[1] 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
> rep(1:4,rep(4,4))
[1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
Di samping koordinat numerik, vektor dapat berisi logika F (FALSE) dan T (TRUE)
atau string karakter. Vektor logika juga dapat dibuat dengan perintah-perintah berikut :
>x
[1] 10 5 3 6
> y <- x>9
>y
[1] TRUE FALSE FALSE FALSE
Perbandingan logika yang digunakan adalah <, <=, >, >= , == dan !=. Sedangkan untuk
operator logika digunakan &, | dan ! yang berturut-turut berarti dan, atau serta
pengingkaran.
> sum(x)
> sum(x>9)
Suatu vektor juga dapat berisi karakter seperti pada contoh berikut ini :
4
[1] "row a" "row b" "row c"
> letters[1:3]
[1] "a" "b" "c"
> paste("row",letters[1:3])
[1] "row a" "row b" "row c"
>y
[1] TRUE FALSE FALSE FALSE
> mode(y) <- "numeric"
>y
[1] 1 0 0 0
> mode(y) <- "logical"
>y
[1] TRUE FALSE FALSE FALSE
Bila dimiliki data yang tidak lengkap maka pada program R disediakan simbol NA
(not available) seperti pada contoh berikut :
Bila diinginkan menampilkan nilai x untuk indeks ke-i dapat digunakan x[i] dan berikut
ini beberapa contoh yang lain. Perhatikan apa yang terjadi dengan perintah-perintah
tersebut.
5
Dalam R dikenal banyak sekali fungsi standard. Di samping itu dapat juga ditulis
fungsi-fungsi sesuai dengan kebutuhan kita. Untuk memanggil fungsi dapat digunakan
perintah berikut ini :
Di samping itu untuk fungsi yang tidak mempunyai argument dapat dipanggil dengan
menggunakan perintah berikut ini :
> nama_fungsi( )
Bila hanya nama fungsi saja yang dipanggil maka ditmpilkan perintah-perintah yang
mempunyai definisi dari fungsi tersebut. Argumen dapat berupa argument wajib atau
argument optional. Argumen wajib harus diberikan sedangkan argument optional tidak
harus diberikan. Argumen optional dapat ditengarai dengan kontruksi nama_argumen =
nilai. Sebagai contoh :
>seq(-3, 3, length=1000)
Manipulasi Data
Fungsi
>x
[1] 10 5 3 6
> length(x)
[1] 4
> sum(x)
[1] 24
> prod(x)
[1] 900
> max(x)
[1] 10
> min(x)
[1] 3
> sum(x,y)
[1] 96.555
> prod(x,y)
[1] 364135500000
> max(x,y)
[1] 10
> min(x,y)
[1] 0.555
6
Perhatikan penggunaan perintah berikut ini :
> cumsum(rep(1,10))
[1] 1 2 3 4 5 6 7 8 9 10
Untuk mengurutkan data dapat digunakan perintah sort sedangkan perintah order
digunakan untuk menentukan letak dimana data tersebut diurutkan. Perhatikan apa yang
terjadi bila digunakan perintah berikut ini :
> x[order(x)]
[1] 3 5 6 10
> rev(sort(x))
[1] 10 6 5 3
> rev(x)
[1] 6 3 5 10
> rank(x)
[1] 4 2 1 3
> diff(x)
[1] -5 -2 3
> diff(x,lag=2)
[1] -7 1
> diff(x, lag=1, differences=2)
[1] 3 5
Beberapa fungsi yang digunakan dalam peringkasan data statistika dinyatakan pada
Tabel 3.
Dalam R juga disediakan perhitungan fungsi distribusi, fungsi densitas, fungsi kuantil
dan perintah untuk membangkitkan sampel random. Nama-nama setiap fungsi selalu
menggunakan nama sesuai dengan distribusinya dengan diawali huruf :
7
Nama Fungsi Operasi
mean(x) Rata-rata
mean(x, trim= ) Rata-rata terpancung (trimmed mean)
median(x) Median
var(x) Variansi, matriks kovariansi
mad(x) Median deviasi absolut
range(x) Vektor(min(x), max(x))
iqr(x) Jangkauan antar kuartil
skewness(x) Kemencengan
kurtosis(x) Kurtosis
quantile(x,prob) Kuantil
stem(x) Stem and leafplot
var(x,y) Covariansi
cor(x,y) Koefisien korelasi
acf(x,plot=F) Koefisien korelasi parsial
> pnorm(x,m,s)
> dnorm(x, m,s)
> qnorm(u,m,s)
> rnorm(n, m, s)
Dalam hal ini m dan s argument optional yang harus diberikan untuk distribusi normal
selain distribusi normal standard. Agumen n dalam rnorm berarti ukuran sampel yang
harus diberikan dan x menyatakan domain dari fungsi tersebut. Beberapa fungsi yang
biasa digunakan dalam teori probabilitas dan statistika dinyatakan pada Tabel 4.
8
untuk menghasilkan permutasi. Perhatikan apa yang terjadi dari perintah-perintah
berikut ini :
> sample(x,3)
[1] 6 3 10
> sample(x)
[1] 10 6 5 3
> sample(x,10,replace=T)
[1] 6 3 5 5 5 3 6 10 6 6
Bilangan random dihasilkan dengan menggunakan nilai-nilai yang ada pada vektor
.Random.seed. Perhatikan apa yang terjadi bila digunakan perintah-perintah berikut :
Grafik
Untuk menggambarkan grafik dengan bantuan R terlebih dulu dipanggil window yang
digunakan untuk menggambarkan grafik. Perintah untuk memanggil window adalah
> win.graph()
u <- seq(0,4*pi,by=0.05)
> v <- sin(u)
> plot(u,v,type="l", ylab="sin")
> title("Gambar 2")
9
> x <- rnorm(100)
> range(x)
[1] -1.716844 2.496130
> hist(x, xlim=c(-4,4), xlab=" ", prob=T)
> u <- seq(-4,4,by=0.1)
> lines(u, dnorm(u))
> title("Gambar 6")
Di samping itu dalam satu gambar/window dapat dibuat beberapa macam grafik dengan
memberikan perintah berikut ini :
> par(mfrow=c(2,2))
Nama Arti
xlab = xlabel Label pada sumbu-x
ylab = ylabel Label pada sumbu-y
xlim=c(l,r) Range pada sumbu x dari 1 sampai dengan r
ylim=c(l,h) Range pada sumbu-y dari1 sampai dengan h
main=title Judul pada bagian atas gambar
sub=subtitle Judul pada bagian bawah gambar
lty=n Tipe garis : n=1, n=2, 3, ... , putus-putus
10
> y <- runif(20)
> plot(x,y,type="p",main="Gambar 7")
> u <- dnorm(seq(-1,1,0.1), 0,0.5)
> z <- outer(u,u)
> persp(z)
> title("Gambar 8")
List
List adalah suatu vektor dimana komponen-komponennya mempunyai tipe yang
mungkin berbeda. Sebagai contoh suatu list dapat terdiri dari vektor numerik, vektor
karakter, list bagian yang lain (sublist) dan suatu fungsi. Seringkali hasil suatu fungsi
standard seperti lsfit berupa suatu list. Perhatikan contoh berikut ini :
> x <- 1:5
> y <- x + rnorm(5, 0, 0.25)
> z <- lsfit(x,y)
>z
$coefficients
Intercept X
-0.03043427 0.92861917
$residuals
[1] 0.07241504 -0.03093669 -0.04114679 -0.11455651 0.11422495
$intercept
[1] TRUE
$qr
$qt
[1] -6.16131367 2.93655166 -0.07282102 -0.16127321 0.05246578
$qr
Intercept X
[1,] -2.2360680 -6.7082039
[2,] 0.4472136 3.1622777
[3,] 0.4472136 -0.1954395
[4,] 0.4472136 -0.5116673
[5,] 0.4472136 -0.8278950
$qraux
[1] 1.447214 1.120788
$rank
[1] 2
$pivot
[1] 1 2
$tol
[1] 1e-07
attr(,"class")
[1] "qr"
11
Dalam list z ini komponen pertama terdiri dari matriks ( 1 2 ) yaitu intercept dan
gradien garis yang diperoleh dengan metode kuadrat terkecil. Komponen-komponen
dalam list dapat dipilih dengan cara perintah-perintah berikut ini.
> z[[1]]
Intercept X
-0.03043427 0.92861917
> z$residuals
[1] 0.07241504 -0.03093669 -0.04114679 -0.11455651 0.11422495
> z$residuals[4]
[1] -0.1145565
Suatu list dapat juga dibentuk dengan menggunakan perintah list seperti pada contoh
berikut ini :
$yatidak
[1] TRUE
> y$yatidak
[1] TRUE
Fungsi names dapat digunakan untuk memanggil nama-nama komponen dalam suatu
list seperti pada contoh berikut ini dan perhatikan apa yang terjadi :
> names(y)
[1] "bilangan" "yatidak"
> names(y) <- c("nomor","dimana")
>y
$nomor
[1] 1 2 3 4 5
$dimana
[1] TRUE
12
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
Matriks juga dapat dibentuk dengan menggabungkan sejumlah vektor seperti pada
contoh berikut ini :
> cbind(c(1,2),c(3,4))
[,1] [,2]
[1,] 1 3
[2,] 2 4
Pada matriks dapat dikenakan operasi-operasi seperti pada contoh berikut ini :
> t(x)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
[4,] 7 8
> apply(x,1,mean)
[1] 4 5
> apply(x,1,min)
[1] 1 2
> apply(x,2,min)
[1] 1 3 5 7
>x
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
> x[1,3]
[1] 5
> x[1,]
[1] 1 3 5 7
> x[,-2]
[,1] [,2] [,3]
[1,] 1 5 7
[2,] 2 6 8
> x[x>5]
[1] 6 7 8
> x>5
[,1] [,2] [,3] [,4]
[1,] FALSE FALSE FALSE TRUE
[2,] FALSE FALSE TRUE TRUE
13
Fungsi-fungsi dasar yang dapat digunakan dalam operasi matriks dinyatakan pada Tabel
. matriks merupakan array berdimensi dua. Operasi-operasi yang dinyatakan dalam
array analog dengan operasi yang digunakan dalam matriks. Di samping itu dalam array
juga digunakan perintah dimnames.
Data-Frames
14
Untuk menginputkan data dapat digunakan perintah scan seperti pada perintah berikut
ini :
Input ditutup dengan memberikan perintah ENTER atau CONTROL-D pada baris
terakhir.
Untuk mengurangi kesalahan suatu fungsi yang panjang dapat ditulis terlebih
dahulu pada paket programme Notepad. Kemudian di copy dan paste pada R. Argumen
suatu fngsi dapat dibuat default dengan mengkonstruksikan sebagai arg=nilai
defaultnya. Berikut ini diberikan contoh sederhana untuk argument dengan nilai default
yang diberikan :
Argumen dari suatu fungsi dapat berupa fungsi juga seperti pada contoh berikut ini :
15
+}
> rdistribusi(10,qnorm)
[1] 0.45877543 -0.19533434 -0.56265519 -1.05459945 -1.56913622 1.00979365
[7] -0.09536404 0.35138136 -0.88138298 1.34414808
Bila dalam suatu fungsi argument lain juga dipanggil maka argument tersebut dapat
digunakan sebagai argument fungsi baru :
Bila digunakan untuk operasi loop maka aturan penggunaan for adalah :
16
Berikut ini contoh penggunaan for :
Sebagai pengganti statemen for dapat digunakan statemen while yang mempunyai
aturan penggunaan :
Di samping itu dapat juga dipergunakan perintah repeat yang mempunyai aturan
penggunaan :
> repeat
{
}
if (condition) break
}
Gunakan perintah repeat yang hampir sama penggunaannya dengan perintah for dan
while.
****
17
18