Top Banner
Manajemen Data Frame di R Department of Statistics IPB 1
22

Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Mar 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Manajemen Data Frame di R

𝜏𝜌

Department of Statistics IPB 1

Page 2: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Objek di R

• Vector

• Matrix

• Array

• Factor

• List

• Data Frame

c(…) , assign(”var”,c(…)) , seq(…), rep(…), paste(…)

matrix(…,m,n),dim(vector)<-c(m,n),rbind(…),cbind(…)

array(element,dim=)

factor(element), ordered(element,level)

list(…,…,)

data.frame(…,…,)

Department of Statistics IPB 2

Page 3: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan objek data.frame

• Pendefinisian data.frame e1 <- matrix(1:15,5,3)

e2 <- paste("P",1:5,sep="")

da <- data.frame(e2,e1)

is.data.frame(da)

• Akses data.frame X1 <- da[,2] #akses kolom e1

X12<- da$e1 #akses kolom e1

Department of Statistics IPB 3

Page 4: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

• Fungsi-fungsi umum untuk data.frame names(da) #nama-nama peubah pada data.frame

dim(da) #dimensi data.frame

str(da) #struktur data.frame

summary(da) #ringkasan statistik peubah data.frame

Department of Statistics IPB 4

Page 5: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 1

• Buatlah sintaks dengan output sebagai berikut A Kel resp

A1 1 1.000000

A1 2 1.428571

A2 1 1.857143

A2 2 2.285714

A3 1 2.714286

A3 2 3.142857

A4 1 3.571429

A4 2 4.000000

A <- paste("A",rep(1:4,each=2),sep="")

Kel <- rep(1:2,4)

resp <- seq(1,4,length=8)

data1 <- data.frame(A,Kel,resp) Department of Statistics IPB 5

Page 6: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Manajemen data frame

• Menciptakan variabel baru dalam data frame

• Subsetting data

• Sorting data

• Recoding data

• Merging data

• Reshaping data

Department of Statistics IPB 6

Page 7: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Menciptakan variabel baru dalam data frame

Dilakukan seperti menciptakan vektor (dengan indeks atau operasi seleksi)

dataframe$baru<-ekspresi

Department of Statistics IPB 7

Page 8: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 2

• Pada data berikut, buatlah variabel ‘baru’ yang berisi nilai dari 8 sampai 1 secara berurutan

Department of Statistics IPB 8

A Kel resp A1 1 1.000000

A1 2 1.428571

A2 1 1.857143

A2 2 2.285714

A3 1 2.714286

A3 2 3.142857

A4 1 3.571429

A4 2 4.000000

data1$baru <- 8:1

data1

Page 9: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Subsetting data

Dilakukan untuk akses sebagian data

Membuat ide logic untuk diterapkan dalam vektor logic yang diinginkan

Fungsi yang digunakan :

==, !=, >, >=, <, <=, %in%, duplicated,

is.na, is.null, is.numeric, dll…

Department of Statistics IPB 9

Page 10: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 3

Dari data data1 tersebut ambillah yang termasuk kelompok 1

indeks <- (data1$Kel == 1)

data3 <- data1[indeks,]

Department of Statistics IPB 10

> data1

A Kel resp baru

1 A1 1 1.000000 8

2 A1 2 1.428571 7

3 A2 1 1.857143 6

4 A2 2 2.285714 5

5 A3 1 2.714286 4

6 A3 2 3.142857 3

7 A4 1 3.571429 2

8 A4 2 4.000000 1

A Kel resp baru

1 A1 1 1.000000 8

3 A2 1 1.857143 6

5 A3 1 2.714286 4

7 A4 1 3.571429 2

Page 11: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 4

Dari data data1 tersebut ambillah yang termasuk kelompok 1 atau A1

indeks1 <- (data1$Kel == 1 | data1$A == "A1")

data4 <- data1[indeks1,]

Department of Statistics IPB 11

> data1

A Kel resp baru

1 A1 1 1.000000 8

2 A1 2 1.428571 7

3 A2 1 1.857143 6

4 A2 2 2.285714 5

5 A3 1 2.714286 4

6 A3 2 3.142857 3

7 A4 1 3.571429 2

8 A4 2 4.000000 1

A Kel resp baru

1 A1 1 1.000000 8

2 A1 2 1.428571 7

3 A2 1 1.857143 6

5 A3 1 2.714286 4

7 A4 1 3.571429 2

Page 12: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Sorting Data

Dilakukan untuk mengurutkan data berdasarkan beberapa peubah tertentu

Dilakukan dengan membuat vektor logika untuk melakukan pengurutan data

Fungsi yang sering digunakan

• order(), sort(), which(), rev(), unique()

Department of Statistics IPB 12

Page 13: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 5

Department of Statistics IPB 13

Urutkan data tersebut berdasarkan kelompok (Kel) secara ascending

indeks2 <- order(data1$Kel)

data5 <- data1[indeks2,]

> data1

A Kel resp baru

1 A1 1 1.000000 8

2 A1 2 1.428571 7

3 A2 1 1.857143 6

4 A2 2 2.285714 5

5 A3 1 2.714286 4

6 A3 2 3.142857 3

7 A4 1 3.571429 2

8 A4 2 4.000000 1

A Kel resp baru

1 A1 1 1.000000 8

3 A2 1 1.857143 6

5 A3 1 2.714286 4

7 A4 1 3.571429 2

2 A1 2 1.428571 7

4 A2 2 2.285714 5

6 A3 2 3.142857 3

8 A4 2 4.000000 1

Page 14: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 6

Department of Statistics IPB 14

Urutkan data tersebut berdasarkan kelompok dan respon secara descending

indeks3 <- order(data1$Kel,data1$resp,decreasing=TRUE)

data6 <- data1[indeks3,]

> data1

A Kel resp baru

1 A1 1 1.000000 8

2 A1 2 1.428571 7

3 A2 1 1.857143 6

4 A2 2 2.285714 5

5 A3 1 2.714286 4

6 A3 2 3.142857 3

7 A4 1 3.571429 2

8 A4 2 4.000000 1

A Kel resp baru

8 A4 2 4.000000 1

6 A3 2 3.142857 3

4 A2 2 2.285714 5

2 A1 2 1.428571 7

7 A4 1 3.571429 2

5 A3 1 2.714286 4

3 A2 1 1.857143 6

1 A1 1 1.000000 8

Page 15: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 7

Department of Statistics IPB 15

Urutkan data tersebut berdasarkan kelompok secara ascending dan respon secara descending

indeks4 <- order(data1$resp,decreasing=TRUE)

data7 <- data1[indeks4,]

indeks5 <- order(data7$Kel)

data8 <- data7[indeks5,]

> data1

A Kel resp baru

1 A1 1 1.000000 8

2 A1 2 1.428571 7

3 A2 1 1.857143 6

4 A2 2 2.285714 5

5 A3 1 2.714286 4

6 A3 2 3.142857 3

7 A4 1 3.571429 2

8 A4 2 4.000000 1

A Kel resp baru

7 A4 1 3.571429 2

5 A3 1 2.714286 4

3 A2 1 1.857143 6

1 A1 1 1.000000 8

8 A4 2 4.000000 1

6 A3 2 3.142857 3

4 A2 2 2.285714 5

2 A1 2 1.428571 7

Page 16: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Recoding Data

Digunakan untuk membuat nilai baru dari nilai peubah yang sudah ada

Dapat secara logical, fungsi ifelse, dan fungsi recode

Department of Statistics IPB 16

Page 17: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 8

Dengan logical data1$Code <- 0*(data1$resp<=2)+1*(data1$resp>2)

Dengan fungsi ifelse data1$Code <- ifelse(data1$resp<=2,0,1)

Dengan fungsi recode library(car)

data1$Code <- recode(data1$resp,'1:2=0;else=1')

Department of Statistics IPB 17

Lakukanlah recoding pada data1 untuk peubah resp dengan kondisi jika resp > 2 maka Code = 1, selainnya Code = 0

Page 18: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Merging Data

Bisa dilakukan dengan rbind atau cbind

Lebih mudah dengan fungsi merge

Department of Statistics IPB 18

Page 19: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 9

Department of Statistics IPB 19

> data1

A Kel resp baru Code

1 A1 1 1.000000 8 0

2 A1 2 1.428571 7 0

3 A2 1 1.857143 6 0

4 A2 2 2.285714 5 1

5 A3 1 2.714286 4 1

6 A3 2 3.142857 3 1

7 A4 1 3.571429 2 1

8 A4 2 4.000000 1 1

> tabel1

a1 k1

1 A4 1

2 A3 2

tabel1 <- data.frame(a1=c("A4","A3"),k1=1:2)

data9<-merge(data1,tabel1,by.x=1,by.y=1,all=FALSE)

data10<-merge(data1,tabel1,by.x=1,by.y=1,all=TRUE)

Gabungkanlah data data1 dengan tabel1 berdasarkan peubah pertamanya

Page 20: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Reshaping Data

Membentuk data baru dengan cara :

Long to wide format

Wide to long format

Menggunakan fungsi reshape()

Department of Statistics IPB 20

Page 21: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Latihan 10

Department of Statistics IPB 21

Ubahlah data di samping menjadi data dengan setiap barisnya merupakan masing-masing A

##long to wide

data11 <- reshape(data1,idvar="A",timevar="Kel",direction="wide")

> data1

A Kel resp baru Code

1 A1 1 1.000000 8 0

2 A1 2 1.428571 7 0

3 A2 1 1.857143 6 0

4 A2 2 2.285714 5 1

5 A3 1 2.714286 4 1

6 A3 2 3.142857 3 1

7 A4 1 3.571429 2 1

8 A4 2 4.000000 1 1

Kebalikannya ##wide to long

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

Page 22: Manajemen Data Frame di R - stat.ipb.ac.id · Manajemen data frame •Menciptakan variabel baru dalam data frame •Subsetting data •Sorting data •Recoding data •Merging data

Terima kasih

Department of Statistics IPB 22