PENGENALAN R

R adalah sebuah free software atau software yang bebas,dibawah lisensi GNU(GNU is Not Unix) General Public Licence, yang menjamin R akan tetap selalu free(bebas).R menyediakan penanganan dan penyimpanan data, mendukung banyak operator penghitungan, menyediakan banyak alat untuk analisis data, menampilkan kemampuan graphical yang baik. R adalah perangkat lunak dan bahasa pemrograman yang dianggap sebagaisebuah dialek dan merupakan bahasa pemrograman langsung yang didasarkan pada bahasa pemrograman S yang ditulis oleh Rick Becker,John Chambers,dan Allan Wilks dari AT&T Bell Laboratories. dari bahasa S yang dibuat oleh AT&T Bell Laboratories. S tersedia sebagai perangkat lunak S-PLUS yang dikomersialkan oleh Insightful (Paradis,2005).

R merupakan sebuah paket dan sekaligus bahasa pemrograman untuk analisis data dan grafik.R merupakan bahasa pemrograman tingkat tinggi(high level programming).R dapat digunakan secara interaktif sehingga hasil perhitungan segera dapat dilihat,tetapi apabila perhitungannya kompleks maka perintah-perintah R ditulis lebih dahulu dalam text editor, kemudian dipanggil dengan fungsi source.

OBJECT

Kita mengetahui bahwa R bekerja dengan objek yang dicirikan oleh nama dan isinya, juga dengan atribut yang menentukan jenis data diwakili oleh suatu objek. Penamaan pada objek yaitu sebagai berikut. 1. Diawali huruf (A-Z ata a-z) atau menggunakan titik (.) 2. Tidak menggunakan spasi dan karakter spesial seperti !, @, #, dll 3. Menghindari kata yang sudah digunakan oleh R, seperti Null, TRUE, FALSE, dll

Adapun jenis-jenis objek di R sebagai berikut.

  1. Vektor Fungsi vektor mempunyai 2 argumen yaitu mode dan length, membuat vektor dimana elemennya memiliki nilai yang bergantung pada mode yang digunakan sebagai argumen. Suatu vektor di R dapat ditulis c(), seq(),rep(), paste() dengan mode numeric, character, complex, atau logical (Paradis, 2005). Fungsi c (c singkatan dari Combine) membuat vector baru dengan kombinasi angka-angka. Berikut adalah contoh penggunaan c() dalam pembuatan vektor dengan nama objek yang digunakan adalah contoh.1.
contoh.1 <- c(2, 4, 6, 8)
contoh.1
## [1] 2 4 6 8

berdasarkan hasil setelah fungsi tersebut dijalankan, suatu vektor yang berisi angka 2, 4, 6, 8 yang merupakan mode numeric.

Sequence vektor didalam R dapat ditulis seq(). suatu vektor dapat dibuat dalam sekuen nilai tertentu dengan notasi start:end (https://rpubs.com/aswinjanuarsjaf/242034). Sequence digunakan untuk menampilkan baris bilangan. Berikut merupakan contoh penggunaan seq()

contoh.2 <- seq(1:10)
contoh.2
##  [1]  1  2  3  4  5  6  7  8  9 10

fungsi sekuen membolehkan penggunaan "length.out" untuk menentukan panjang vektor yang muncul misalkan kita menggunakan length.out adalah 2 seperti berikut

contoh.3 <- seq(1,10,length.out=2)
contoh.3
## [1]  1 10

rep() digunakan untuk mengulang angka yang muncul di dalam vektor sebanyak n kali yang kita inginkan.berikut adalah contoh penggunaan rep() dengan kita menginginkan elemen-elemen vektor tersebut yaitu 2 yang diulang sebanyak 5 kali.

contoh.4 <- rep(2,5)
contoh.4
## [1] 2 2 2 2 2

kita juga dapat membuat vektor yang berisi beberapa karakter (character) dan menyimpannya denga nama contoh.5 seperti berikut

contoh.5<- rep(c("makan","tidur"),2)
contoh.5
## [1] "makan" "tidur" "makan" "tidur"

paste digunakan untuk menghasilkan vektor dengan karakter berpola. Contoh penggunaan Paste sebagai berikut

contoh.6 <- paste("doraemon","nobita",1:5, sep="")
contoh.6
## [1] "doraemonnobita1" "doraemonnobita2" "doraemonnobita3" "doraemonnobita4"
## [5] "doraemonnobita5"

cara lain penggunaan paste yaitu dengan menuliskannya sebagai paste0. perbedaan keduanya adalah ketika kita menggunakan fungsi paste maka diikutsertakan penggunaan sep="" untuk menampilkan hasil gabungan 2 karakter di dalam vektor tanpa adanya spasi. sedangkan jika kita menggunakan paste0 kita tidak perlu lagi menggunakan sep="", secara default kedua karakter akan tergabung tanpa spasi. keduanya menampilkan hasil yang sama.

contoh.7 <- paste0("doraemon","nobita",1:5)
contoh.7
## [1] "doraemonnobita1" "doraemonnobita2" "doraemonnobita3" "doraemonnobita4"
## [5] "doraemonnobita5"

berbeda halnya dengan hanya menggunakan fungsi paste tanpa disertai oleh sep="". hasil yang diperoleh adalah gabungan 2 karakter dengan spasi.

contoh.8 <- paste("doraemon", "nobita")
contoh.8
## [1] "doraemon nobita"

vektor dapat pula diakses dengan cara mengakses berdasarkan letaknya. Berikut kita ingin mengakses elemen urutan ke-i, misal kita ingin memanggil karakter yang ada pada elemen ke 3 pada contoh.4, maka diperoleh

contoh.9<- contoh.4[3]
contoh.9
## [1] 2

vektor dapat pula diakses seperti berikut.

contoh.10<- contoh.4[1:3]
contoh.10
## [1] 2 2 2

Latihan1

c("la","ye")[rep(c(1,2,2,1),times=4)]
##  [1] "la" "ye" "ye" "la" "la" "ye" "ye" "la" "la" "ye" "ye" "la" "la" "ye" "ye"
## [16] "la"
c("la","ye")[rep(rep(1:2,each=3),2)]
##  [1] "la" "la" "la" "ye" "ye" "ye" "la" "la" "la" "ye" "ye" "ye"

Latihan2

sintakslatihan2.2<-c("X1","Y2","X3","Y4","Y5","X6","Y7","X8","Y9","10")
sintakslatihan2.1<- seq(1,30,by=3)
names(sintakslatihan2.1)<-sintakslatihan2.2
sintakslatihan2.1
## X1 Y2 X3 Y4 Y5 X6 Y7 X8 Y9 10 
##  1  4  7 10 13 16 19 22 25 28
  1. Matriks

    Suatu matriks di R dapat ditulis "matrix()". Matriks merupakan suatu vektor dengan penambahan atribut dimensi (dim) atau jumlah baris dan kolom pada matriks. berikut merupakan contoh matriks yang dibentuk dari unsur-unsur pada vektor contoh.1, kemudian kita membentuk matriks dengan ukuran baris sama dengan 2 dan kolom sama dengan 2, atau dengan kata lain matriks berdimensi 2x2.

matriks.1 <- matrix(contoh.1,2,2)
matriks.1
##      [,1] [,2]
## [1,]    2    6
## [2,]    4    8

Berikut merupakan contoh matriks berukuran 2x2 dengan unsur-unsurnya berasal dari bilangan 1 hingga 10.

matriks.2 <- matrix(1:10,2,2)
matriks.2
##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4

penulisan matriks di R juga dapat dilakukan dengan mendefinisikan data, jumlah baris (nr), dan jumlah kolom (nc) seperti contoh berikut

matriks.3 <- matrix(data=5,nr=3,nc=3)
matriks.3
##      [,1] [,2] [,3]
## [1,]    5    5    5
## [2,]    5    5    5
## [3,]    5    5    5

Misalnya, kita memiliki dua vektor, yaitu X =c(4,5,3,6) dan Y =c(2,4,3,6), maka hasil berbagai operasi hitung biasa di antara kedua vektor ini adalah

X<-matrix(c(4,5,3,6))
Y<-matrix(c(2,4,3,6))
hasilkali<-X*Y
hasilkali
##      [,1]
## [1,]    8
## [2,]   20
## [3,]    9
## [4,]   36

Vektor X dan Y tersebut dapat digabungkan sehingga membentuk matriks dengan ukuran 4x2, menggunakan perintah cbind.

hasilgabung<-cbind(X,Y)
hasilgabung
##      [,1] [,2]
## [1,]    4    2
## [2,]    5    4
## [3,]    3    3
## [4,]    6    6

Pada R, kita juga dapat mengetahui dimensi atau ukuran matriks yang kita miliki dengan menggunakan perintah dim seperti berikut

dim(hasilgabung)
## [1] 4 2

ketika kita ingin mengubah baris menjadi kolom, dan kolom menjadi baris, dapat menggunakan fungsi transpose matriks seperti berikut.

t(hasilgabung)
##      [,1] [,2] [,3] [,4]
## [1,]    4    5    3    6
## [2,]    2    4    3    6

untuk mengetahui determinan dari matriks dapat menggunakan fungsi determinan matriks seperti berikut.

matriks.A<-matrix(1:10,2,2)
det(matriks.A)
## [1] -2

Kemudian, untuk mengetahui diagonal matriks menggunakan fungsi diagonal matrik seperti berikut.

diag(matriks.A)
## [1] 1 4

Kemudian untuk mengetahui inverse dari matriks tersebut dapat menggunakan fungsi inverse matriks seperti berikut.

solve(matriks.A)
##      [,1] [,2]
## [1,]   -2  1.5
## [2,]    1 -0.5
  1. Data frame Data frame merupakan objek yang mempunyai bentuk sama dengan matriks, terdiri atas baris dan kolom. Perbedaannya adalah data frame dapat terdiri atas mode data yang berbeda-beda untuk setiap kolomnya. kita telah mengetahui bahwa suatu data frame dibuat implisit dengan menggunakan fungsi read.table; hal ini juga memungkinkan untuk membuat data frame menggunakan fungsi data.frame. Vektor-vektor yang termasuk dalam data frame harus memiliki panjang yang sama, atau jika salah satunya pendek, maka harus di recycle untuk menyamakan panjangnya. Berikut adalah contoh penggunaan fungsi data frame.
x <- 1:4; n <- 10; M <- c(10, 35); y <- 2:4
data.frame(x,n)
##   x  n
## 1 1 10
## 2 2 10
## 3 3 10
## 4 4 10
data.frame(x,M)
##   x  M
## 1 1 10
## 2 2 35
## 3 3 10
## 4 4 35
  1. List suatu list dibuat dengan cara yang sama membentuk data frame menggunakan fungsi List. Seperti contoh berikut
L1 <- list(x, y); L2 <- list(A=x, B=y)
L1
## [[1]]
## [1] 1 2 3 4
## 
## [[2]]
## [1] 2 3 4
  1. Faktor suatu faktor tidak hanya mencakup nilai-nilai katergori sesuai variabel, tetapi juga tingkat kemungkinan yang berbeda dari variabel (bahkan jika nilai tersebut tidak berada dalam data). Fungsi faktor digunakan untuk membuat suatu faktor seperti contoh berikut.
factor(1:3)
## [1] 1 2 3
## Levels: 1 2 3
factor(1:3, levels=1:5)
## [1] 1 2 3
## Levels: 1 2 3 4 5
factor(1:3, labels=c("A", "B", "C"))
## [1] A B C
## Levels: A B C
factor(1:5, exclude=4)
## [1] 1    2    3    <NA> 5   
## Levels: 1 2 3 5
  1. Array Suatu array adalah koleksi beragam model subscript data entri, misalkan numerik. R memiliki fasilitas untuk pembuatan dan penanganan array, dan khususnya matriks.Dimensi vektor adalah vektor bilangan bulat non-negatif. Jika panjang vektor tersebut k maka array merupakan berdimensi k. Sebagai contoh, matriks adalah array berdimensi 2. Dimensi adalah indeks dari satu hingga nilau yang diberikan dalam dimensi vektor. Suatu vektor dapat digunakan di R sebagai suatu array jika hanya memiliki dimensi sama dengan atribut dim nya. Misalkan suatu vektor data<-1:12 merupakan vektor yang terdiri dari 75 elemen. berikut adalah perintah yang digunakan
data<-1:12
ruang.vektor1<-array(data, dim=c(3,5,5))
ruang.vektor1
## , , 1
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    4    7   10    1
## [2,]    2    5    8   11    2
## [3,]    3    6    9   12    3
## 
## , , 2
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    4    7   10    1    4
## [2,]    5    8   11    2    5
## [3,]    6    9   12    3    6
## 
## , , 3
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    7   10    1    4    7
## [2,]    8   11    2    5    8
## [3,]    9   12    3    6    9
## 
## , , 4
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   10    1    4    7   10
## [2,]   11    2    5    8   11
## [3,]   12    3    6    9   12
## 
## , , 5
## 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    4    7   10    1
## [2,]    2    5    8   11    2
## [3,]    3    6    9   12    3

Converting object

suatu objek dapat diconverting dengan menggunakan fungsi as.numeric untuk mengkonversi numeric, as.logical untuk mengkonversi logical, dan as.character untuk mengkonversi character. berikut adalah contohnya

faktor1<-factor(c(1,10))
faktor1
## [1] 1  10
## Levels: 1 10
as.numeric(faktor1)
## [1] 1 2
as.factor(faktor1)
## [1] 1  10
## Levels: 1 10
as.array(faktor1)
## [1] 1  10
## Levels: 1 10
as.list(faktor1)
## [[1]]
## [1] 1
## Levels: 1 10
## 
## [[2]]
## [1] 10
## Levels: 1 10
as.data.frame(faktor1)
##   faktor1
## 1       1
## 2      10
fac2 <- factor(c("Male", "Female"))
fac2
## [1] Male   Female
## Levels: Female Male

berdasarkan hasil pada fac2 kita ingin mengkonversi caharacter "Male" dan "Female" ke dalam numeric, untuk itu kita dapat menggunakan fungsi as.numeric seperti berikut

as.numeric(fac2)
## [1] 2 1

Latihan 3

Seorang peneliti merancang sebuah perancangan percobaan RAKL dengan 4 perlakuan dan 3 kelompok (anggaplah respon percobaan berupa baris bilangan). Bantulah peneliti tersebut untuk membuat raw data seperti output sebagai berikut!

Perl <- paste("P",rep(1:4,each=3),sep="")
Kel <- factor(rep(1:3,4))
Resp <- seq(1,24,by=1)
percobaan.RAKL <- data.frame(Perl,Kel,Resp)
percobaan.RAKL
##    Perl Kel Resp
## 1    P1   1    1
## 2    P1   2    2
## 3    P1   3    3
## 4    P2   1    4
## 5    P2   2    5
## 6    P2   3    6
## 7    P3   1    7
## 8    P3   2    8
## 9    P3   3    9
## 10   P4   1   10
## 11   P4   2   11
## 12   P4   3   12
## 13   P1   1   13
## 14   P1   2   14
## 15   P1   3   15
## 16   P2   1   16
## 17   P2   2   17
## 18   P2   3   18
## 19   P3   1   19
## 20   P3   2   20
## 21   P3   3   21
## 22   P4   1   22
## 23   P4   2   23
## 24   P4   3   24
is.vector(percobaan.RAKL)
## [1] FALSE
as.vector(percobaan.RAKL)
##    Perl Kel Resp
## 1    P1   1    1
## 2    P1   2    2
## 3    P1   3    3
## 4    P2   1    4
## 5    P2   2    5
## 6    P2   3    6
## 7    P3   1    7
## 8    P3   2    8
## 9    P3   3    9
## 10   P4   1   10
## 11   P4   2   11
## 12   P4   3   12
## 13   P1   1   13
## 14   P1   2   14
## 15   P1   3   15
## 16   P2   1   16
## 17   P2   2   17
## 18   P2   3   18
## 19   P3   1   19
## 20   P3   2   20
## 21   P3   3   21
## 22   P4   1   22
## 23   P4   2   23
## 24   P4   3   24
as.matrix(percobaan.RAKL)
##       Perl Kel Resp
##  [1,] "P1" "1" " 1"
##  [2,] "P1" "2" " 2"
##  [3,] "P1" "3" " 3"
##  [4,] "P2" "1" " 4"
##  [5,] "P2" "2" " 5"
##  [6,] "P2" "3" " 6"
##  [7,] "P3" "1" " 7"
##  [8,] "P3" "2" " 8"
##  [9,] "P3" "3" " 9"
## [10,] "P4" "1" "10"
## [11,] "P4" "2" "11"
## [12,] "P4" "3" "12"
## [13,] "P1" "1" "13"
## [14,] "P1" "2" "14"
## [15,] "P1" "3" "15"
## [16,] "P2" "1" "16"
## [17,] "P2" "2" "17"
## [18,] "P2" "3" "18"
## [19,] "P3" "1" "19"
## [20,] "P3" "2" "20"
## [21,] "P3" "3" "21"
## [22,] "P4" "1" "22"
## [23,] "P4" "2" "23"
## [24,] "P4" "3" "24"
as.list(percobaan.RAKL)
## $Perl
##  [1] "P1" "P1" "P1" "P2" "P2" "P2" "P3" "P3" "P3" "P4" "P4" "P4" "P1" "P1" "P1"
## [16] "P2" "P2" "P2" "P3" "P3" "P3" "P4" "P4" "P4"
## 
## $Kel
##  [1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
## Levels: 1 2 3
## 
## $Resp
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
as.data.frame(percobaan.RAKL)
##    Perl Kel Resp
## 1    P1   1    1
## 2    P1   2    2
## 3    P1   3    3
## 4    P2   1    4
## 5    P2   2    5
## 6    P2   3    6
## 7    P3   1    7
## 8    P3   2    8
## 9    P3   3    9
## 10   P4   1   10
## 11   P4   2   11
## 12   P4   3   12
## 13   P1   1   13
## 14   P1   2   14
## 15   P1   3   15
## 16   P2   1   16
## 17   P2   2   17
## 18   P2   3   18
## 19   P3   1   19
## 20   P3   2   20
## 21   P3   3   21
## 22   P4   1   22
## 23   P4   2   23
## 24   P4   3   24

MANAJEMEN DATA DI R

Misalkan kita ingin membuat suatu dataset berbentuk data frame di R, berikut adalah fungsi yang digunakan untuk menghasilkan data frame 3 variabel.

Perl <- paste("P",rep(1:4,each=3),sep="")
Kel <- factor(rep(1:3,4))
Resp <- seq(1,23,by=2)
data1 <- data.frame(Perl,Kel,Resp)
data1
##    Perl Kel Resp
## 1    P1   1    1
## 2    P1   2    3
## 3    P1   3    5
## 4    P2   1    7
## 5    P2   2    9
## 6    P2   3   11
## 7    P3   1   13
## 8    P3   2   15
## 9    P3   3   17
## 10   P4   1   19
## 11   P4   2   21
## 12   P4   3   23

Didalam manajemen data,kita dapat membuat Variabel Baru dalam Data Frame. Misal kita ingin membuat variabel 'baru1' yang berisi nilai dari 12 sampai 1 secara berurutan dengan fungsi yang digunakan yaitu nama data frame ditambahkan dengan namavariabel baru yang ingin dibuat kemudian menuliskan ekspresi seperti berikut.

data1$baru1<-12:1
data1
##    Perl Kel Resp baru1
## 1    P1   1    1    12
## 2    P1   2    3    11
## 3    P1   3    5    10
## 4    P2   1    7     9
## 5    P2   2    9     8
## 6    P2   3   11     7
## 7    P3   1   13     6
## 8    P3   2   15     5
## 9    P3   3   17     4
## 10   P4   1   19     3
## 11   P4   2   21     2
## 12   P4   3   23     1

subsetting data didalam R kita juga dapat mensubset variabel yang kita inginkan. Misal dari data1 tersebut ingin diambil yang termasuk kelompok 1 sepeerti berikut.

indeks1 <- data1$Kel ==1
data2 <- data1[indeks1,]
data2
##    Perl Kel Resp baru1
## 1    P1   1    1    12
## 4    P2   1    7     9
## 7    P3   1   13     6
## 10   P4   1   19     3

Dari data1 tersebut kita ingin mengambil yang termasuk kelompok 1 atau perlakuan P2. Maka fungsi yang digunakan yaitu seperti berikut

indeks2 <- data1$Kel == 1 |
data1$Perl == "P2"
data3 <- data1[indeks2,]
data3
##    Perl Kel Resp baru1
## 1    P1   1    1    12
## 4    P2   1    7     9
## 5    P2   2    9     8
## 6    P2   3   11     7
## 7    P3   1   13     6
## 10   P4   1   19     3

Dari data1 tersebut kita mengambil amatan yang responnya berupa bilangan prima

  indeks3 <- data1$Resp %in%
c(2,3,5,7,11,13,17,19,23)
data4 <- data1[indeks3,]
data4
##    Perl Kel Resp baru1
## 2    P1   2    3    11
## 3    P1   3    5    10
## 4    P2   1    7     9
## 6    P2   3   11     7
## 7    P3   1   13     6
## 9    P3   3   17     4
## 10   P4   1   19     3
## 12   P4   3   23     1

Order digunakan untuk menyusun ulang argumen pertamanya menjadi urutan naik atau turun.Berikut adalah contoh penggunaan order.

indeks4 <- order(data1$Kel)
data5 <- data1[indeks4,]
data5
##    Perl Kel Resp baru1
## 1    P1   1    1    12
## 4    P2   1    7     9
## 7    P3   1   13     6
## 10   P4   1   19     3
## 2    P1   2    3    11
## 5    P2   2    9     8
## 8    P3   2   15     5
## 11   P4   2   21     2
## 3    P1   3    5    10
## 6    P2   3   11     7
## 9    P3   3   17     4
## 12   P4   3   23     1

Berikut adalah contoh mengurutkan data berdasarkan kelompok dan respon secara descending

indeks5 <- order(data1$Kel,
data1$Resp, decreasing=TRUE)
data6 <- data1[indeks5,]
data6
##    Perl Kel Resp baru1
## 12   P4   3   23     1
## 9    P3   3   17     4
## 6    P2   3   11     7
## 3    P1   3    5    10
## 11   P4   2   21     2
## 8    P3   2   15     5
## 5    P2   2    9     8
## 2    P1   2    3    11
## 10   P4   1   19     3
## 7    P3   1   13     6
## 4    P2   1    7     9
## 1    P1   1    1    12

Berikut adalah contoh mengurutkan data berdasarkan kelompok secara ascending dan respon secara descending

indeks6 <- order(data1$Resp,
decreasing=TRUE)
data7 <- data1[indeks6,]
indeks7 <- order(data7$Kel)
data8 <- data7[indeks7,]
data8
##    Perl Kel Resp baru1
## 10   P4   1   19     3
## 7    P3   1   13     6
## 4    P2   1    7     9
## 1    P1   1    1    12
## 11   P4   2   21     2
## 8    P3   2   15     5
## 5    P2   2    9     8
## 2    P1   2    3    11
## 12   P4   3   23     1
## 9    P3   3   17     4
## 6    P2   3   11     7
## 3    P1   3    5    10

Sort data Misal kita mensort data respon pada dataframe data8, didapatkan hasil seperti berikut

data8$Resp
##  [1] 19 13  7  1 21 15  9  3 23 17 11  5
sort(data8$Resp)
##  [1]  1  3  5  7  9 11 13 15 17 19 21 23
order(data8$Resp)
##  [1]  4  8 12  3  7 11  2  6 10  1  5  9
rank(data8$Resp)
##  [1] 10  7  4  1 11  8  5  2 12  9  6  3
data8$Resp>10
##  [1]  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE
which(data8$Resp>10)
## [1]  1  2  5  6  9 10 11
data8$Resp[data8$Resp>10]
## [1] 19 13 21 15 23 17 11
data8$Resp[which(data8$Resp>10)]
## [1] 19 13 21 15 23 17 11

Misal kita recoding pada data8 untuk variabel respon dengan logical kondisi jika respon<15 maka Code = 1, selainnya Code = 0, diperoleh hasil seperti berikut

logcl= data8$Code1 <- 0*(data8$Resp>=15) + 1*(data8$Resp<15)
logcl
##  [1] 0 1 1 1 0 0 1 1 0 0 1 1

adapun dengan menggunakan fungsi ifelse kita peroleh

ifls= data8$Code2 <- ifelse(data8$Resp<15,1,0)
ifls
##  [1] 0 1 1 1 0 0 1 1 0 0 1 1

dengan menggunakan fungsi recode kita peroleh hasil

library(car)
## Loading required package: carData
rcde= data8$Code3 <- recode(data8$Resp,'1:14=1; else=0')
rcde
##  [1] 0 1 1 1 0 0 1 1 0 0 1 1

merging data

Jika ingin menggabungkan data1 dengan suatu tabel1 berdasarkan peubah pertamanya, kita dapat menggunakan fungsi merge seperti berikut ini.

tabel1 <- data.frame(Tr=c("P4","P2", "P5"),k1=c(50,100,200))
data9<-merge(data1, tabel1,
by.x=1, by.y=1, all=FALSE)
data10<-merge(data1, tabel1,by.x="Perl",by.y="Tr",all=TRUE)
data10
##    Perl  Kel Resp baru1  k1
## 1    P1    1    1    12  NA
## 2    P1    2    3    11  NA
## 3    P1    3    5    10  NA
## 4    P2    3   11     7 100
## 5    P2    1    7     9 100
## 6    P2    2    9     8 100
## 7    P3    2   15     5  NA
## 8    P3    3   17     4  NA
## 9    P3    1   13     6  NA
## 10   P4    1   19     3  50
## 11   P4    2   21     2  50
## 12   P4    3   23     1  50
## 13   P5 <NA>   NA    NA 200

reshaping data

Ubahlah data tersebut menjadi data dengan setiap barisnya merupakan masing-masing A

Long to wide

data11 <- reshape(data1[,-4],
idvar="Perl", timevar="Kel",
direction="wide")
data11
##    Perl Resp.1 Resp.2 Resp.3
## 1    P1      1      3      5
## 4    P2      7      9     11
## 7    P3     13     15     17
## 10   P4     19     21     23

Wide to long

data12 <- reshape(data11,
idvar="Perl", timevar="Kel",
direction="long")

data12
##      Perl Kel Resp.1
## P1.1   P1   1      1
## P2.1   P2   1      7
## P3.1   P3   1     13
## P4.1   P4   1     19
## P1.2   P1   2      3
## P2.2   P2   2      9
## P3.2   P3   2     15
## P4.2   P4   2     21
## P1.3   P1   3      5
## P2.3   P2   3     11
## P3.3   P3   3     17
## P4.3   P4   3     23

Latihan mandiri menggunakan data iris

iris merupakan suatu dataset yang terdapat di R

library(datasets)
data(iris)
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

kita dapat melihat struktur dari dataset iris menggunakan fungsi str().

str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
class(iris)
## [1] "data.frame"

Misalkan kita ingin membuat variabel baru

iris$var.baru<-0.1:15
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species var.baru
## 1          5.1         3.5          1.4         0.2  setosa      0.1
## 2          4.9         3.0          1.4         0.2  setosa      1.1
## 3          4.7         3.2          1.3         0.2  setosa      2.1
## 4          4.6         3.1          1.5         0.2  setosa      3.1
## 5          5.0         3.6          1.4         0.2  setosa      4.1
## 6          5.4         3.9          1.7         0.4  setosa      5.1

subsetting data

subsetting data digunakan untuk mengakses sebagian data yang ada di dalam data frame. Kita ingin melihat data khusus untuk Sepal.Length yang lebih dari 5.

data.sepal1<-iris$Sepal.Length >5
data.sepal1<-iris[data.sepal1,]
head(data.sepal1)
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species var.baru
## 1           5.1         3.5          1.4         0.2  setosa      0.1
## 6           5.4         3.9          1.7         0.4  setosa      5.1
## 11          5.4         3.7          1.5         0.2  setosa     10.1
## 15          5.8         4.0          1.2         0.2  setosa     14.1
## 16          5.7         4.4          1.5         0.4  setosa      0.1
## 17          5.4         3.9          1.3         0.4  setosa      1.1

Kita ingin melihat data khusus untuk Sepal.Length kecil dari 5.1 dan Sepal.Width besar dari 3.0, sehingga diperoleh hasil yang dapat dilihat di bawah ini.

data.sepal2<-(iris$Sepal.Length < 5.1 & iris$Sepal.Width > 3.0)
data.sepal2<-iris[data.sepal2,]
head(data.sepal2)
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species var.baru
## 3           4.7         3.2          1.3         0.2  setosa      2.1
## 4           4.6         3.1          1.5         0.2  setosa      3.1
## 5           5.0         3.6          1.4         0.2  setosa      4.1
## 7           4.6         3.4          1.4         0.3  setosa      6.1
## 8           5.0         3.4          1.5         0.2  setosa      7.1
## 10          4.9         3.1          1.5         0.1  setosa      9.1

sorting data frame

Mengurutkan data Species menggunakan "order" dengan urutan decreasing seperti berikut

urutan.species<- order(iris$Species,decreasing = TRUE)
iris[(urutan.species),]
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species var.baru
## 101          6.3         3.3          6.0         2.5  virginica     10.1
## 102          5.8         2.7          5.1         1.9  virginica     11.1
## 103          7.1         3.0          5.9         2.1  virginica     12.1
## 104          6.3         2.9          5.6         1.8  virginica     13.1
## 105          6.5         3.0          5.8         2.2  virginica     14.1
## 106          7.6         3.0          6.6         2.1  virginica      0.1
## 107          4.9         2.5          4.5         1.7  virginica      1.1
## 108          7.3         2.9          6.3         1.8  virginica      2.1
## 109          6.7         2.5          5.8         1.8  virginica      3.1
## 110          7.2         3.6          6.1         2.5  virginica      4.1
## 111          6.5         3.2          5.1         2.0  virginica      5.1
## 112          6.4         2.7          5.3         1.9  virginica      6.1
## 113          6.8         3.0          5.5         2.1  virginica      7.1
## 114          5.7         2.5          5.0         2.0  virginica      8.1
## 115          5.8         2.8          5.1         2.4  virginica      9.1
## 116          6.4         3.2          5.3         2.3  virginica     10.1
## 117          6.5         3.0          5.5         1.8  virginica     11.1
## 118          7.7         3.8          6.7         2.2  virginica     12.1
## 119          7.7         2.6          6.9         2.3  virginica     13.1
## 120          6.0         2.2          5.0         1.5  virginica     14.1
## 121          6.9         3.2          5.7         2.3  virginica      0.1
## 122          5.6         2.8          4.9         2.0  virginica      1.1
## 123          7.7         2.8          6.7         2.0  virginica      2.1
## 124          6.3         2.7          4.9         1.8  virginica      3.1
## 125          6.7         3.3          5.7         2.1  virginica      4.1
## 126          7.2         3.2          6.0         1.8  virginica      5.1
## 127          6.2         2.8          4.8         1.8  virginica      6.1
## 128          6.1         3.0          4.9         1.8  virginica      7.1
## 129          6.4         2.8          5.6         2.1  virginica      8.1
## 130          7.2         3.0          5.8         1.6  virginica      9.1
## 131          7.4         2.8          6.1         1.9  virginica     10.1
## 132          7.9         3.8          6.4         2.0  virginica     11.1
## 133          6.4         2.8          5.6         2.2  virginica     12.1
## 134          6.3         2.8          5.1         1.5  virginica     13.1
## 135          6.1         2.6          5.6         1.4  virginica     14.1
## 136          7.7         3.0          6.1         2.3  virginica      0.1
## 137          6.3         3.4          5.6         2.4  virginica      1.1
## 138          6.4         3.1          5.5         1.8  virginica      2.1
## 139          6.0         3.0          4.8         1.8  virginica      3.1
## 140          6.9         3.1          5.4         2.1  virginica      4.1
## 141          6.7         3.1          5.6         2.4  virginica      5.1
## 142          6.9         3.1          5.1         2.3  virginica      6.1
## 143          5.8         2.7          5.1         1.9  virginica      7.1
## 144          6.8         3.2          5.9         2.3  virginica      8.1
## 145          6.7         3.3          5.7         2.5  virginica      9.1
## 146          6.7         3.0          5.2         2.3  virginica     10.1
## 147          6.3         2.5          5.0         1.9  virginica     11.1
## 148          6.5         3.0          5.2         2.0  virginica     12.1
## 149          6.2         3.4          5.4         2.3  virginica     13.1
## 150          5.9         3.0          5.1         1.8  virginica     14.1
## 51           7.0         3.2          4.7         1.4 versicolor      5.1
## 52           6.4         3.2          4.5         1.5 versicolor      6.1
## 53           6.9         3.1          4.9         1.5 versicolor      7.1
## 54           5.5         2.3          4.0         1.3 versicolor      8.1
## 55           6.5         2.8          4.6         1.5 versicolor      9.1
## 56           5.7         2.8          4.5         1.3 versicolor     10.1
## 57           6.3         3.3          4.7         1.6 versicolor     11.1
## 58           4.9         2.4          3.3         1.0 versicolor     12.1
## 59           6.6         2.9          4.6         1.3 versicolor     13.1
## 60           5.2         2.7          3.9         1.4 versicolor     14.1
## 61           5.0         2.0          3.5         1.0 versicolor      0.1
## 62           5.9         3.0          4.2         1.5 versicolor      1.1
## 63           6.0         2.2          4.0         1.0 versicolor      2.1
## 64           6.1         2.9          4.7         1.4 versicolor      3.1
## 65           5.6         2.9          3.6         1.3 versicolor      4.1
## 66           6.7         3.1          4.4         1.4 versicolor      5.1
## 67           5.6         3.0          4.5         1.5 versicolor      6.1
## 68           5.8         2.7          4.1         1.0 versicolor      7.1
## 69           6.2         2.2          4.5         1.5 versicolor      8.1
## 70           5.6         2.5          3.9         1.1 versicolor      9.1
## 71           5.9         3.2          4.8         1.8 versicolor     10.1
## 72           6.1         2.8          4.0         1.3 versicolor     11.1
## 73           6.3         2.5          4.9         1.5 versicolor     12.1
## 74           6.1         2.8          4.7         1.2 versicolor     13.1
## 75           6.4         2.9          4.3         1.3 versicolor     14.1
## 76           6.6         3.0          4.4         1.4 versicolor      0.1
## 77           6.8         2.8          4.8         1.4 versicolor      1.1
## 78           6.7         3.0          5.0         1.7 versicolor      2.1
## 79           6.0         2.9          4.5         1.5 versicolor      3.1
## 80           5.7         2.6          3.5         1.0 versicolor      4.1
## 81           5.5         2.4          3.8         1.1 versicolor      5.1
## 82           5.5         2.4          3.7         1.0 versicolor      6.1
## 83           5.8         2.7          3.9         1.2 versicolor      7.1
## 84           6.0         2.7          5.1         1.6 versicolor      8.1
## 85           5.4         3.0          4.5         1.5 versicolor      9.1
## 86           6.0         3.4          4.5         1.6 versicolor     10.1
## 87           6.7         3.1          4.7         1.5 versicolor     11.1
## 88           6.3         2.3          4.4         1.3 versicolor     12.1
## 89           5.6         3.0          4.1         1.3 versicolor     13.1
## 90           5.5         2.5          4.0         1.3 versicolor     14.1
## 91           5.5         2.6          4.4         1.2 versicolor      0.1
## 92           6.1         3.0          4.6         1.4 versicolor      1.1
## 93           5.8         2.6          4.0         1.2 versicolor      2.1
## 94           5.0         2.3          3.3         1.0 versicolor      3.1
## 95           5.6         2.7          4.2         1.3 versicolor      4.1
## 96           5.7         3.0          4.2         1.2 versicolor      5.1
## 97           5.7         2.9          4.2         1.3 versicolor      6.1
## 98           6.2         2.9          4.3         1.3 versicolor      7.1
## 99           5.1         2.5          3.0         1.1 versicolor      8.1
## 100          5.7         2.8          4.1         1.3 versicolor      9.1
## 1            5.1         3.5          1.4         0.2     setosa      0.1
## 2            4.9         3.0          1.4         0.2     setosa      1.1
## 3            4.7         3.2          1.3         0.2     setosa      2.1
## 4            4.6         3.1          1.5         0.2     setosa      3.1
## 5            5.0         3.6          1.4         0.2     setosa      4.1
## 6            5.4         3.9          1.7         0.4     setosa      5.1
## 7            4.6         3.4          1.4         0.3     setosa      6.1
## 8            5.0         3.4          1.5         0.2     setosa      7.1
## 9            4.4         2.9          1.4         0.2     setosa      8.1
## 10           4.9         3.1          1.5         0.1     setosa      9.1
## 11           5.4         3.7          1.5         0.2     setosa     10.1
## 12           4.8         3.4          1.6         0.2     setosa     11.1
## 13           4.8         3.0          1.4         0.1     setosa     12.1
## 14           4.3         3.0          1.1         0.1     setosa     13.1
## 15           5.8         4.0          1.2         0.2     setosa     14.1
## 16           5.7         4.4          1.5         0.4     setosa      0.1
## 17           5.4         3.9          1.3         0.4     setosa      1.1
## 18           5.1         3.5          1.4         0.3     setosa      2.1
## 19           5.7         3.8          1.7         0.3     setosa      3.1
## 20           5.1         3.8          1.5         0.3     setosa      4.1
## 21           5.4         3.4          1.7         0.2     setosa      5.1
## 22           5.1         3.7          1.5         0.4     setosa      6.1
## 23           4.6         3.6          1.0         0.2     setosa      7.1
## 24           5.1         3.3          1.7         0.5     setosa      8.1
## 25           4.8         3.4          1.9         0.2     setosa      9.1
## 26           5.0         3.0          1.6         0.2     setosa     10.1
## 27           5.0         3.4          1.6         0.4     setosa     11.1
## 28           5.2         3.5          1.5         0.2     setosa     12.1
## 29           5.2         3.4          1.4         0.2     setosa     13.1
## 30           4.7         3.2          1.6         0.2     setosa     14.1
## 31           4.8         3.1          1.6         0.2     setosa      0.1
## 32           5.4         3.4          1.5         0.4     setosa      1.1
## 33           5.2         4.1          1.5         0.1     setosa      2.1
## 34           5.5         4.2          1.4         0.2     setosa      3.1
## 35           4.9         3.1          1.5         0.2     setosa      4.1
## 36           5.0         3.2          1.2         0.2     setosa      5.1
## 37           5.5         3.5          1.3         0.2     setosa      6.1
## 38           4.9         3.6          1.4         0.1     setosa      7.1
## 39           4.4         3.0          1.3         0.2     setosa      8.1
## 40           5.1         3.4          1.5         0.2     setosa      9.1
## 41           5.0         3.5          1.3         0.3     setosa     10.1
## 42           4.5         2.3          1.3         0.3     setosa     11.1
## 43           4.4         3.2          1.3         0.2     setosa     12.1
## 44           5.0         3.5          1.6         0.6     setosa     13.1
## 45           5.1         3.8          1.9         0.4     setosa     14.1
## 46           4.8         3.0          1.4         0.3     setosa      0.1
## 47           5.1         3.8          1.6         0.2     setosa      1.1
## 48           4.6         3.2          1.4         0.2     setosa      2.1
## 49           5.3         3.7          1.5         0.2     setosa      3.1
## 50           5.0         3.3          1.4         0.2     setosa      4.1

Kemudian, kita ingin menampilkan Species dengan menggunakan "sort" sehingga yang muncul hanyalah nama-nama species yang ada dalam dataset

sort(iris$Species)
##   [1] setosa     setosa     setosa     setosa     setosa     setosa    
##   [7] setosa     setosa     setosa     setosa     setosa     setosa    
##  [13] setosa     setosa     setosa     setosa     setosa     setosa    
##  [19] setosa     setosa     setosa     setosa     setosa     setosa    
##  [25] setosa     setosa     setosa     setosa     setosa     setosa    
##  [31] setosa     setosa     setosa     setosa     setosa     setosa    
##  [37] setosa     setosa     setosa     setosa     setosa     setosa    
##  [43] setosa     setosa     setosa     setosa     setosa     setosa    
##  [49] setosa     setosa     versicolor versicolor versicolor versicolor
##  [55] versicolor versicolor versicolor versicolor versicolor versicolor
##  [61] versicolor versicolor versicolor versicolor versicolor versicolor
##  [67] versicolor versicolor versicolor versicolor versicolor versicolor
##  [73] versicolor versicolor versicolor versicolor versicolor versicolor
##  [79] versicolor versicolor versicolor versicolor versicolor versicolor
##  [85] versicolor versicolor versicolor versicolor versicolor versicolor
##  [91] versicolor versicolor versicolor versicolor versicolor versicolor
##  [97] versicolor versicolor versicolor versicolor virginica  virginica 
## [103] virginica  virginica  virginica  virginica  virginica  virginica 
## [109] virginica  virginica  virginica  virginica  virginica  virginica 
## [115] virginica  virginica  virginica  virginica  virginica  virginica 
## [121] virginica  virginica  virginica  virginica  virginica  virginica 
## [127] virginica  virginica  virginica  virginica  virginica  virginica 
## [133] virginica  virginica  virginica  virginica  virginica  virginica 
## [139] virginica  virginica  virginica  virginica  virginica  virginica 
## [145] virginica  virginica  virginica  virginica  virginica  virginica 
## Levels: setosa versicolor virginica

selain "sort", kita dapat pula menggunakan "rev"

rev(iris$Species)
##   [1] virginica  virginica  virginica  virginica  virginica  virginica 
##   [7] virginica  virginica  virginica  virginica  virginica  virginica 
##  [13] virginica  virginica  virginica  virginica  virginica  virginica 
##  [19] virginica  virginica  virginica  virginica  virginica  virginica 
##  [25] virginica  virginica  virginica  virginica  virginica  virginica 
##  [31] virginica  virginica  virginica  virginica  virginica  virginica 
##  [37] virginica  virginica  virginica  virginica  virginica  virginica 
##  [43] virginica  virginica  virginica  virginica  virginica  virginica 
##  [49] virginica  virginica  versicolor versicolor versicolor versicolor
##  [55] versicolor versicolor versicolor versicolor versicolor versicolor
##  [61] versicolor versicolor versicolor versicolor versicolor versicolor
##  [67] versicolor versicolor versicolor versicolor versicolor versicolor
##  [73] versicolor versicolor versicolor versicolor versicolor versicolor
##  [79] versicolor versicolor versicolor versicolor versicolor versicolor
##  [85] versicolor versicolor versicolor versicolor versicolor versicolor
##  [91] versicolor versicolor versicolor versicolor versicolor versicolor
##  [97] versicolor versicolor versicolor versicolor setosa     setosa    
## [103] setosa     setosa     setosa     setosa     setosa     setosa    
## [109] setosa     setosa     setosa     setosa     setosa     setosa    
## [115] setosa     setosa     setosa     setosa     setosa     setosa    
## [121] setosa     setosa     setosa     setosa     setosa     setosa    
## [127] setosa     setosa     setosa     setosa     setosa     setosa    
## [133] setosa     setosa     setosa     setosa     setosa     setosa    
## [139] setosa     setosa     setosa     setosa     setosa     setosa    
## [145] setosa     setosa     setosa     setosa     setosa     setosa    
## Levels: setosa versicolor virginica

recoding data

Kemudian kita melakukan recoding pada data iris untuk variabel Sepal.Width dengan kondisi jika Sepal.Width kurang dari sama dengan 3 maka diberikan kode = 0, dan lebih dari 3 maka diberikan kode = 1. Dengan menggunakan "logical" diperoleh hasil seperti di bawah ini

iris$code1<-0*(iris$Sepal.Width<=3) + 1*(iris$Sepal.Width>3)
iris$code1
##   [1] 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
##  [38] 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0
##  [75] 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1
## [112] 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0
## [149] 1 0

Mengubah format data frame (reshaping data)

Long to wide data format. dalam mengubah format data frame digunakan fungsi reshape. terdapat 2 argumen yang digunakan yaitu idvar dan timevar. idvar menunjukkan bahwa terdapat minimal 1 baris yang menunjukkan individu yang sama. sedangkan timevar yaitu 1 variabel dalam format wide.

Berikut kita ingin mengubah format data dengan memilih Species dan Petal.Length sebagai argumen idvar dan Petal.Width sebagai argumen timevar.

long.to.wd <-reshape(iris, idvar="Species", timevar="Petal.Width", direction="wide")
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=0.2: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=0.4: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=0.3: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=0.1: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1.4: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1.5: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1.3: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1.6: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1.1: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1.8: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1.2: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=2.5: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=1.9: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=2.1: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=2.2: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=2: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=2.4: first taken
## Warning in reshapeWide(data, idvar = idvar, timevar = timevar, varying =
## varying, : multiple rows match for Petal.Width=2.3: first taken
long.to.wd
##        Species Sepal.Length.0.2 Sepal.Width.0.2 Petal.Length.0.2 var.baru.0.2
## 1       setosa              5.1             3.5              1.4          0.1
## 51  versicolor               NA              NA               NA           NA
## 101  virginica               NA              NA               NA           NA
##     code1.0.2 Sepal.Length.0.4 Sepal.Width.0.4 Petal.Length.0.4 var.baru.0.4
## 1           1              5.4             3.9              1.7          5.1
## 51         NA               NA              NA               NA           NA
## 101        NA               NA              NA               NA           NA
##     code1.0.4 Sepal.Length.0.3 Sepal.Width.0.3 Petal.Length.0.3 var.baru.0.3
## 1           1              4.6             3.4              1.4          6.1
## 51         NA               NA              NA               NA           NA
## 101        NA               NA              NA               NA           NA
##     code1.0.3 Sepal.Length.0.1 Sepal.Width.0.1 Petal.Length.0.1 var.baru.0.1
## 1           1              4.9             3.1              1.5          9.1
## 51         NA               NA              NA               NA           NA
## 101        NA               NA              NA               NA           NA
##     code1.0.1 Sepal.Length.0.5 Sepal.Width.0.5 Petal.Length.0.5 var.baru.0.5
## 1           1              5.1             3.3              1.7          8.1
## 51         NA               NA              NA               NA           NA
## 101        NA               NA              NA               NA           NA
##     code1.0.5 Sepal.Length.0.6 Sepal.Width.0.6 Petal.Length.0.6 var.baru.0.6
## 1           1                5             3.5              1.6         13.1
## 51         NA               NA              NA               NA           NA
## 101        NA               NA              NA               NA           NA
##     code1.0.6 Sepal.Length.1.4 Sepal.Width.1.4 Petal.Length.1.4 var.baru.1.4
## 1           1               NA              NA               NA           NA
## 51         NA              7.0             3.2              4.7          5.1
## 101        NA              6.1             2.6              5.6         14.1
##     code1.1.4 Sepal.Length.1.5 Sepal.Width.1.5 Petal.Length.1.5 var.baru.1.5
## 1          NA               NA              NA               NA           NA
## 51          1              6.4             3.2              4.5          6.1
## 101         0              6.0             2.2              5.0         14.1
##     code1.1.5 Sepal.Length.1.3 Sepal.Width.1.3 Petal.Length.1.3 var.baru.1.3
## 1          NA               NA              NA               NA           NA
## 51          1              5.5             2.3                4          8.1
## 101         0               NA              NA               NA           NA
##     code1.1.3 Sepal.Length.1.6 Sepal.Width.1.6 Petal.Length.1.6 var.baru.1.6
## 1          NA               NA              NA               NA           NA
## 51          0              6.3             3.3              4.7         11.1
## 101        NA              7.2             3.0              5.8          9.1
##     code1.1.6 Sepal.Length.1 Sepal.Width.1 Petal.Length.1 var.baru.1 code1.1
## 1          NA             NA            NA             NA         NA      NA
## 51          1            4.9           2.4            3.3       12.1       0
## 101         0             NA            NA             NA         NA      NA
##     Sepal.Length.1.1 Sepal.Width.1.1 Petal.Length.1.1 var.baru.1.1 code1.1.1
## 1                 NA              NA               NA           NA        NA
## 51               5.6             2.5              3.9          9.1         0
## 101               NA              NA               NA           NA        NA
##     Sepal.Length.1.8 Sepal.Width.1.8 Petal.Length.1.8 var.baru.1.8 code1.1.8
## 1                 NA              NA               NA           NA        NA
## 51               5.9             3.2              4.8         10.1         1
## 101              6.3             2.9              5.6         13.1         0
##     Sepal.Length.1.2 Sepal.Width.1.2 Petal.Length.1.2 var.baru.1.2 code1.1.2
## 1                 NA              NA               NA           NA        NA
## 51               6.1             2.8              4.7         13.1         0
## 101               NA              NA               NA           NA        NA
##     Sepal.Length.1.7 Sepal.Width.1.7 Petal.Length.1.7 var.baru.1.7 code1.1.7
## 1                 NA              NA               NA           NA        NA
## 51               6.7             3.0              5.0          2.1         0
## 101              4.9             2.5              4.5          1.1         0
##     Sepal.Length.2.5 Sepal.Width.2.5 Petal.Length.2.5 var.baru.2.5 code1.2.5
## 1                 NA              NA               NA           NA        NA
## 51                NA              NA               NA           NA        NA
## 101              6.3             3.3                6         10.1         1
##     Sepal.Length.1.9 Sepal.Width.1.9 Petal.Length.1.9 var.baru.1.9 code1.1.9
## 1                 NA              NA               NA           NA        NA
## 51                NA              NA               NA           NA        NA
## 101              5.8             2.7              5.1         11.1         0
##     Sepal.Length.2.1 Sepal.Width.2.1 Petal.Length.2.1 var.baru.2.1 code1.2.1
## 1                 NA              NA               NA           NA        NA
## 51                NA              NA               NA           NA        NA
## 101              7.1               3              5.9         12.1         0
##     Sepal.Length.2.2 Sepal.Width.2.2 Petal.Length.2.2 var.baru.2.2 code1.2.2
## 1                 NA              NA               NA           NA        NA
## 51                NA              NA               NA           NA        NA
## 101              6.5               3              5.8         14.1         0
##     Sepal.Length.2 Sepal.Width.2 Petal.Length.2 var.baru.2 code1.2
## 1               NA            NA             NA         NA      NA
## 51              NA            NA             NA         NA      NA
## 101            6.5           3.2            5.1        5.1       1
##     Sepal.Length.2.4 Sepal.Width.2.4 Petal.Length.2.4 var.baru.2.4 code1.2.4
## 1                 NA              NA               NA           NA        NA
## 51                NA              NA               NA           NA        NA
## 101              5.8             2.8              5.1          9.1         0
##     Sepal.Length.2.3 Sepal.Width.2.3 Petal.Length.2.3 var.baru.2.3 code1.2.3
## 1                 NA              NA               NA           NA        NA
## 51                NA              NA               NA           NA        NA
## 101              6.4             3.2              5.3         10.1         1

wide to long data format. Dua argumen yang harus digunakan: varying = objek list dari nama variabel dalam format wide v.names = objek vektor dari nama kolom baru dalam format long

wd.to.long <- reshape(long.to.wd,idvar="Species", timevar="Petal.Width",direction="long")
head(wd.to.long)
##                   Species Petal.Width Sepal.Length.0.2 Sepal.Width.0.2
## setosa.0.2         setosa         0.2              5.1             3.5
## versicolor.0.2 versicolor         0.2               NA              NA
## virginica.0.2   virginica         0.2               NA              NA
## setosa.0.4         setosa         0.4              5.4             3.9
## versicolor.0.4 versicolor         0.4               NA              NA
## virginica.0.4   virginica         0.4               NA              NA
##                Petal.Length.0.2 var.baru.0.2 code1.0.2
## setosa.0.2                  1.4          0.1         1
## versicolor.0.2               NA           NA        NA
## virginica.0.2                NA           NA        NA
## setosa.0.4                  1.7          5.1         1
## versicolor.0.4               NA           NA        NA
## virginica.0.4                NA           NA        NA