35
R Basic For Data Analysis Dechathon Yanan January 24, 2018

R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

R Basic For Data Analysis

Dechathon Yanan January 24, 2018

Page 2: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

2

รปปก : stocksnap.io/photo/PFPNV9W5HK เรยบเรยงเนอหาจาก : www.r-project.org

www.tutorialspoint.com/r/ www.statmethods.net/r-tutorial/index.html

ดาวนโหลดชดขอมลท : blog.dechathon.com/r-tutorial เวบไซต : dechathon.com

blog.dechathon.com

Page 3: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

3

สารบญ

1. ชนดขอมล (Data Type) 1) Vectors 2) List 3) Matrices 4) Array 5) Data Frame

2. ค าสงจดการขอมล (R Command) 1) ค ำสงทวไป

2) ค ำสง Select

3) ค ำสง Filter

4) ค ำสง Arrange

5) ค ำสง Mutate

6) ค ำสง Group by

7) ค ำสง Table

3. การสรางกราฟ (Data Visualization) 1) Pie Graph 2) Bar Plot 3) Line Graph 4) Scatterplots 5) Histograms

Page 4: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

4

บทท 1 ชนดขอมล (Data Type)

ส ำหรบกำรเรมเขยนโปรแกรมเรำจ ำเปนตองศกษำชนดของขอมลกอน เพรำะขอมลทมควำมหลำกหลำยหำกจดเกบไม

ถกตองตำมประเภทของขอมลนนๆ กจะสงผลตอน ำไปใชตอ ลกษณะขอมลแตละโปรมแกรมมกมลกษณะพนฐำนเหมอนกน เชน ขอควำม ตวเลข หำกมควำมรพนฐำนจำกกำร

เขยนโปรแกรมภำษำอนมำกอนแลวกงำยทจะเรยนรภำษำใหม เชนเดยวกบกำรใชงำนโปรแกรม R จ ำเปนตองรประเภทของขอมลกอนเพอเรยกใชงำนไดถกตอง โดยมอยหลำยประเภทแตทนยมใชมดงตอไปน

- Vectors (เวกเตอร) เมอเรำสรำงตวแปรเวกเตอรทจดเกบขอมลมำกกวำ 1 คำโดยทขอมลตองเปนประเภทเดยวกน

สำมำรถท ำไดโดยใชฟงกชน c() เปนกำรน ำขอมลหลำยตวมำตอกนในเวกเตอร

> Color <- c('red','green',"yellow") // เวกเตอรประเภท character

> Number <- c(2,4,6,8,15,19,22) // เวกเตอรประเภท numeric > Color [1] จะแสดงผลขอมลล ำดบท 1 [1] red

> Number [5] จะแสดงผลขอมลล ำดบท 5 [5] 15

> Class(Color) จะแสดงผลประเภทของขอมล

[1] "character"

- List (ลสต) สำมำรถเกบขอมลไดหลำกหลำยมำกขนคลำยกบน ำขอมลของเวกเตอรมำรวมกน โดยใชฟงกชน list()

> list1 <- list(c(2,5,3),21.3,"Dechathon",sin) // เกบขอมลหลำยประเภทไวใน list1

> list1 จะแสดงขอมลทงหมดทเกบไวตำมล ำดบทเรำก ำหนด

[[1]]

[1] 2 5 3

[[2]]

[1] 21.3

[[3]]

[1] "Dechathon"

[[4]]

function (x) .Primitive("sin")

- Matrices (เมทรกซ) คอกำรเกบขอมลคลำยกบอำเรยและสำมำถเกบไดหลำยแบบทง character และ numeric

สรำงเมทรกซ โดยก ำหนดใหม 2 แถว (nrow) และ 3 คอลมน(ncol) โดยกำรเรยงขอมลจำกเรยงจำกแถวแรกใหเตมกอน

แลวคอยลงไปแถวทสอง

> M <- matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)

> N <- matrix( c(1,2,3,4,5,6), nrow = 2, ncol = 3, byrow = TRUE)

Page 5: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

5

> M

[,1] [,2] [,3] [1,] "a" "a" "b" [2,] "c" "b" "a"

> M[2,3] / M[แถว,คอลมน]

[1] “a” > N

[,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6

> N[2,1] / N[แถว,คอลมน]

[1] 4

ตวอยำงนเหมอนค ำสงดำนบนแตกำรเรยงขอมลจะเรยงคอลมนแรกใหแตมกอนแลวไปคอลมนท สอง สำมโดยตดค ำสง

byrow = TRUE ออก

> M <- matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3,) > N <- matrix( c(1,2,3,4,5,6), nrow = 2, ncol = 3) > M

[,1] [,2] [,3] [1,] "a" "b" "b" [2,] "a" "c" "a"

> N [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6

ถำหำกไมมกำรก ำหนดแถวและคอลมนจะเปนเมทรกซคอลมนเดยว

> M <- matrix( c('a','a','b')) > N <- matrix( c(1,2,3) > M

[,1] [1,] "a" [2,] "a" [3,] "b"

> N [,1] [1,] 1 [2,] 2 [3,] 3

Page 6: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

6

- Array (อารเรย) คอกำรเกบขอมล 2 มตหำกเชคดจะพบวำกำรเกบขอมลนนกเปนแบบเมทรกซ

> Array <- array(c('green','yellow'),dim = c(3,3)) // สรำง Array เกบขอมล character ขนำด 3*3

> Array1 <- array(c(1,2,3,4,5,6),dim = c(3,2)) // สรำง Array เกบขอมล numeric ขนำด 3*2

> Array [,1] [,2] [,3] [1,] "green" "yellow" "green" [2,] "yellow" "green" "yellow" [3,] "green" "yellow" "green" > Array1 [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6

> Class(Array)

[1] "matrix"

- Data Frames (ดาตา เฟรม) คอกำรเกบขอมลคลำยกบเมทรกซจดเกบในรปแบบตำรำงมแถวและคอลมนโดยท

ขอมลไมจ ำเปนตองเปนประเภทเดยวกน โดยใชฟงกชน data.frame() ในกำรรวมขอมลของ เวกเตอร เขำเปน Data

Frames

o สรางเวกเตอรเกบขอมล > gender <- c("Male", "Male","Female")

> height <- c(152, 171.5, 165)

> weight <- c(81,93, 78)

> Age <- c(42,38,26) > BMI <- data.frame(gender, height, weight, Age) // รวมขอมลเวกเตอรเปน data frame

> BMI gender height weight Age 1 Male 152.0 81 42 2 Male 171.5 93 38 3 Female 165.0 78 26 > BMI[1,] gender height weight Age 1 Male 152 81 42 > BMI[,c("Age","height")] Age height 1 42 152.0 2 38 171.5 3 26 165.0

Page 7: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

7

บทท 2 ค าสงจดการขอมล (R Command)

กำรใชโปรแกรม R ในกำรจดกำรขอมลสำรมำรถท ำไดหลำกหลำย ทงกำรท ำงำนพนฐำน (Basic R/SQL) กำรหำคำทำงสถต กำรสรำงโมเดล (Data Modeling) กำรวเครำะหขอมล (Data Analysis) กำรสรำงรำยงำน (Data report and visualization) ส ำหรบบทเรยนพนนฐำนจะอธบำยเกยวกบกำรจดกำรขอมลเหมอนกบ Excel หรอกำรท ำ Query ใน Accessแตเนองจำกขอมลทมปรมำณมำกอำจท ำให Excel และ Access ไมสำมำรถประมวลผลได หลำยคนจงเลอกใชโปรแกรม R มำชวยท ำงำนรวมถงผมดวยและเนอหำตอไปนเปนเนอหำพนฐำนส ำหรบกำรจดกำรขอมลเบองตนในโปรแกรม R

Data = ชอ Data Set

ใชชดขอมล HairEyeColor จำกไฟลทแนบมำ

1. ค าส งทวไป

str(Data) // เพอเชคประเภทขอมลใน data set ค าอธบาย – เมอพมพค ำสง str เพอตรวจสอบชดขอมล HairEyeColor ขอมลทไดประกอบดวย 32 แถว (obs.) 4 คอลมน/ตวแปร (variables) ซงประกอบดวย $Hair, $Eye, $Sex เปนขอมลประเภท “character” และ $Freq เปนขอมลประเภท “numeric” > str(HairEyeColor) Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 32 obs. of 4 variables: $ Hair: chr "Black" "Brown" "Red" "Blond" ... $ Eye : chr "Brown" "Brown" "Brown" "Brown" ... $ Sex : chr "Male" "Male" "Male" "Male" ... $ Freq: num 32 53 10 3 11 50 10 30 10 25 ... หากตองการตวแปรเฉพาะสามารถท าไดโดยเพม $ และระบตวแปรทตองการ > str(HairEyeColor$Hair) chr [1:32] "Black" "Brown" "Red" "Blond" "Black" "Brown" "Red" "Blond" ...

name (Data) // เพอเชควาในชดขอมลนนมคอลมน/ตวแปร (Variable) อะไรบาง ค าอธบาย – หำกตองกำรเชคประเภทขอมลสำมำรถใชค ำสง names และ sapply ขอมลทไดประกอบดวยคอลมนทง 4 > names(HairEyeColor) [1] "Hair" "Eye" "Sex" "Freq"

> sapply(HairEyeColor, mode) Hair Eye Sex Freq "character" "character" "character" "numeric"

Page 8: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

8

head (Data, Row) // เพอเรยกดขอมลในล าดบเรมตน X แถวตามจ านวนทเราก าหนด ค าอธบาย – ขอมลทไดแสดง 10 อนดบแรกใน Data set > head(HairEyeColor,10) # A tibble: 10 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Black Brown Male 32 2 Brown Brown Male 53 3 Red Brown Male 10 4 Blond Brown Male 3 5 Black Blue Male 11 6 Brown Blue Male 50 7 Red Blue Male 10 8 Blond Blue Male 30 9 Black Hazel Male 10 10 Brown Hazel Male 25

tail (Data, Row) // เพอเรยกดขอมลในล าดบทายจ านวน X แถวตามจ านวนทเราก าหนด ค าอธบาย – ขอมลทไดแสดง 10 อนดบสดทำยใน Data set > tail(HairEyeColor,10) # A tibble: 10 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Red Blue Female 7 2 Blond Blue Female 64 3 Black Hazel Female 5 4 Brown Hazel Female 29 5 Red Hazel Female 7 6 Blond Hazel Female 5 7 Black Green Female 2 8 Brown Green Female 14 9 Red Green Female 7 10 Blond Green Female 8

summary (Data) // สรปขอมลใน Data Set แตละคอลมน ค าอธบาย – ขอมลทไดสรปออกตำมตวแปรทมในชดขอมล ถำเปนขอมลประเภทอกขระ (character) จะไมสำมำรถหำคำ Max, Min etc. ได แตขอมลทเปนตวเลข “numeric” แสดงคำ Min, Max, Mean, Medain etc. > summary(HairEyeColor) Hair Eye Sex Freq Length:32 Length:32 Length:32 Min. : 2.00 Class :character Class :character Class :character 1st Qu.: 7.00 Mode :character Mode :character Mode :character Median :10.00 Mean :18.50 3rd Qu.:29.25 Max. :66.00

Page 9: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

9

เนองจำกค ำสงตอไปนอยใน library ชอวำ dplyr ดงนนจ ำเปนตองตดตง library กอนจงจะเรยกใชงำนได > install.package("dplyr") > library("dplyr")

2. ค าส ง Select

select (Data,column1,column2,…) // เลอกขอมลทตองการวธท 1 ค าอธบาย – หำกตองกำรเลอกขอมลบำงคอลมนสรำงใชค ำสง select เพอระบคอลมนทตองกำร > select(HairEyeColor,Hair,Freq) # A tibble: 32 x 2 Hair Freq <chr> <dbl> 1 Black 32 2 Brown 53 3 Red 10 4 Blond 3 5 Black 11 6 Brown 50 7 Red 10 8 Blond 30 9 Black 10 10 Brown 25 # ... with 22 more rows

select (Data,-column1,-column2) // เลอกขอมลทตองการวธท 2

ค าอธบาย – หำกขอมลมหลำยคอลมนแตคอลมนทไมตองกำรเลอกมนอยกวำ สำมำรถใสสญลกษณ – (ลบ)หนำชอคอลมน หมำยถงเลอกขอมลทกคอลมนยกเวนคอลมนทเลอก

> select(HairEyeColor,-Hair,-Freq) # A tibble: 32 x 2 Eye Sex <chr> <chr> 1 Brown Male 2 Brown Male 3 Brown Male 4 Brown Male 5 Blue Male 6 Blue Male 7 Blue Male 8 Blue Male 9 Hazel Male 10 Hazel Male # ... with 22 more rows

Page 10: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

10

select (Data,StrCol:EndCol) // เลอกขอมลทตองการวธท 3 ค าอธบาย –หำกขอมลทตองกำรเลอกเปนขอมลของคอลมนทอยตดกนสำมำรถระบคอลมนเรมตนและคอลมนสดทำยในค ำสงและคนดวยเครองหมำย : > select(HairEyeColor,2:4) # A tibble: 32 x 3 Eye Sex Freq <chr> <chr> <dbl> 1 Brown Male 32 2 Brown Male 53 3 Brown Male 10 4 Brown Male 3 5 Blue Male 11 6 Blue Male 50 7 Blue Male 10 8 Blue Male 30 9 Hazel Male 10 10 Hazel Male 25 # ... with 22 more rows

การเกบคาไวในตวแปร (Assign Data) กำรเกบคำไวในตวแปรสำมำรถใชเครองหมำย <- หรอ = เพอระบตวเลขหรออกขระ เชน ตองกำรเกบตวเลข 1 ทเปน chr ไวในตวแปร A

A <- 1 ตองกำรเกบตวเลข 1,2 ทเปน num ไวในตวแปร B

B <- c(1,2) ประยกตใชค ำสง Select กบกำรเกบคำโดยเลอกขอมลทตองกำรและเกบไวทตวแปร TestSelect > TestSelect<-select(HairEyeColor,2:4) > TestSelect # A tibble: 32 x 3 Eye Sex Freq <chr> <chr> <dbl> 1 Brown Male 32 2 Brown Male 53 3 Brown Male 10 4 Brown Male 3 5 Blue Male 11 6 Blue Male 50 7 Blue Male 10 8 Blue Male 30 9 Hazel Male 10 10 Hazel Male 25 # ... with 22 more rows

Page 11: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

11

3. ค าส ง Filter filter (Data,criteria) // ค าสง filter ใชส าหรบเลอกขอมลตามเงอนไขทตองการ Operator ทมกใชบอยส าหรบค าสง filter

- > มำกกวำ

- >= มำกกวำหรอเทำกบ

- < นอยกวำ

- <= นอยกวำหรอเทำกบ

- == เทำกบ (ใชกบขอควำมตองม “” )

- & และ

- | หรอ

filter ขอมลจากเงอนไขทเปน อกขระ (character) ค าอธบาย – ทดสอบกบชดขอมลโดยเลอกขอมลคอลมน Hair ทมคำตรงกบค ำวำ Black (จะตองใช = สองตวและม “” ครอบขอควำมทตองกำร) > filter(HairEyeColor,Hair=="Black") # A tibble: 8 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Black Brown Male 32 2 Black Blue Male 11 3 Black Hazel Male 10 4 Black Green Male 3 5 Black Brown Female 36 6 Black Blue Female 9 7 Black Hazel Female 5 8 Black Green Female 2

filter ขอมลจากเงอนไขทเปนตวเลข (numeric) ค าอธบาย – ทดสอบกบชดขอมลโดยเลอกขอมลคอลมน Freq ทมคำนอยกวำ 20 (สำมำถเปลยน Operator เปน >,<,<=,>=

etc.) ไดตำมทตองกำร > filter(HairEyeColor,Freq <20) # A tibble: 22 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Red Brown Male 10 2 Blond Brown Male 3 3 Black Blue Male 11 4 Red Blue Male 10 5 Black Hazel Male 10 6 Red Hazel Male 7 7 Blond Hazel Male 5 8 Black Green Male 3 9 Brown Green Male 15 10 Red Green Male 7

Page 12: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

12

# ... with 12 more rows

filter ขอมลจากหลายเงอนไข (เงอนไขและ) ค าอธบาย – ทดสอบเลอกขอมลคอลมน Sex ทมคำตรงกบค ำวำ Male และ Freq ทมคำมำกกวำ 20 > filter(HairEyeColor,Sex=="Male" & Freq >20) # A tibble: 5 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Black Brown Male 32 2 Brown Brown Male 53 3 Brown Blue Male 50 4 Blond Blue Male 30 5 Brown Hazel Male 25

filter ขอมลจากหลายเงอนไข (เงอนไขหรอ) ค าอธบาย – ทดสอบเลอกขอมลคอลมน Hair ทมคำตรงกบค ำวำ Red หรอ Freq ทมคำมำกกวำ 20 > filter(HairEyeColor,Hair=="Red" | Freq >20) # A tibble: 18 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Black Brown Male 32 2 Brown Brown Male 53 3 Red Brown Male 10 4 Brown Blue Male 50 5 Red Blue Male 10 6 Blond Blue Male 30 7 Brown Hazel Male 25 8 Red Hazel Male 7 9 Red Green Male 7 10 Black Brown Female 36 11 Brown Brown Female 66 12 Red Brown Female 16 13 Brown Blue Female 34 14 Red Blue Female 7 15 Blond Blue Female 64 16 Brown Hazel Female 29 17 Red Hazel Female 7 18 Red Green Female 7

Page 13: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

13

4. ค าสง Arrange

arrange (Data,column) // เรยงล าดบขอมลตามทตองการ arrange เรยงขอมลตวเลขนอยไปมาก ค าอธบาย – ใชค ำสง arrange เลอกขอมลในตำรำงทตองกำรโดยเลอกคอลมน Freq เรยงจำกนอยไปมำก > arrange(HairEyeColor,Freq) # A tibble: 32 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Black Green Female 2 2 Blond Brown Male 3 3 Black Green Male 3 4 Blond Brown Female 4 5 Blond Hazel Male 5 6 Black Hazel Female 5 7 Blond Hazel Female 5 8 Red Hazel Male 7 9 Red Green Male 7 10 Red Blue Female 7 # ... with 22 more rows

arrange เรยงขอมลตวเลขจากมากไปนอย (desc) ค าอธบาย – ใชค ำสง arrange เลอกขอมลในตำรำงทตองกำรโดยเลอกคอลมน Freq เรยงจำกมำกไปนอย > arrange(HairEyeColor,desc(Freq)) # A tibble: 32 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Brown Brown Female 66 2 Blond Blue Female 64 3 Brown Brown Male 53 4 Brown Blue Male 50 5 Black Brown Female 36 6 Brown Blue Female 34 7 Black Brown Male 32 8 Blond Blue Male 30 9 Brown Hazel Female 29 10 Brown Hazel Male 25 # ... with 22 more rows

arrange เรยงขอมลอกขระบนไปลางและเกบคาทไดไวในตวแปรใหม ค าอธบาย – ใชค ำสง arrange เลอกขอมลในตำรำงทตองกำรโดยเลอกคอลมน Sex เรยงจำกตวอกขระล ำดบแรกไปล ำดบทำย (F กอน M) และเกบคำทไดไวในตวแปร NewArrange > NewArrange <- arrange(HairEyeColor,Sex) > NewArrange # A tibble: 32 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl>

Page 14: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

14

1 Black Brown Female 36 2 Brown Brown Female 66 3 Red Brown Female 16 4 Blond Brown Female 4 5 Black Blue Female 9 6 Brown Blue Female 34 7 Red Blue Female 7 8 Blond Blue Female 64 9 Black Hazel Female 5 10 Brown Hazel Female 29 # ... with 22 more rows

arrange เรยงขอมลอกขระลางไปบน และเกบคาทไดไวในตวแปรใหม ค าอธบาย – ใชค ำสง arrange เลอกขอมลในตำรำงทตองกำรโดยเลอกคอลมน Eye เรยงจำกตวอกขระล ำดบทำยไปล ำดบแรก (H หลง G และ B) และเกบคำทไดไวในตวแปร NewArrange > NewArrange <- arrange(HairEyeColor,desc(Eye)) > NewArrange # A tibble: 32 x 4 Hair Eye Sex Freq <chr> <chr> <chr> <dbl> 1 Black Hazel Male 10 2 Brown Hazel Male 25 3 Red Hazel Male 7 4 Blond Hazel Male 5 5 Black Hazel Female 5 6 Brown Hazel Female 29 7 Red Hazel Female 7 8 Blond Hazel Female 5 9 Black Green Male 3 10 Brown Green Male 15 # ... with 22 more rows

Page 15: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

15

5. ค าส ง Mutate Mutate (Data,criteria) // สราง Colume ใหม mutate สรางคอลมนใหม ค าอธบาย – ใชค ำสง mutate สรำงคอลมนใหมชอวำ New และค ำหนดใหมคำเทำกบ Student > mutate(HairEyeColor,New="Student") # A tibble: 32 x 5 Hair Eye Sex Freq New <chr> <chr> <chr> <dbl> <chr> 1 Black Brown Male 32 Student 2 Brown Brown Male 53 Student 3 Red Brown Male 10 Student 4 Blond Brown Male 3 Student 5 Black Blue Male 11 Student 6 Brown Blue Male 50 Student 7 Red Blue Male 10 Student 8 Blond Blue Male 30 Student 9 Black Hazel Male 10 Student 10 Brown Hazel Male 25 Student # ... with 22 more rows

mutate สรางคอลมนใหมมากกวา 1 คอลมนและมเงอนไขแบบท 1 ค าอธบาย – ใชค ำสง mutate สรำงคอลมนใหมชอวำ New และก ำหนดคำเทำกบ score และคอลมน Sum โดยก ำหนดเทำกบผลรวมของคอลมน Freq > mutate(HairEyeColor,new="score",Sum=sum(Freq)) # A tibble: 32 x 6 Hair Eye Sex Freq New Sum <chr> <chr> <chr> <dbl> <chr> <dbl> 1 Black Brown Male 32 score 592 2 Brown Brown Male 53 score 592 3 Red Brown Male 10 score 592 4 Blond Brown Male 3 score 592 5 Black Blue Male 11 score 592 6 Brown Blue Male 50 score 592 7 Red Blue Male 10 score 592 8 Blond Blue Male 30 score 592 9 Black Hazel Male 10 score 592 10 Brown Hazel Male 25 score 592 # ... with 22 more rows mutate สรางคอลมนใหมมากกวา 1 คอลมนและมเงอนไขแบบ 2 ค าอธบาย – ใชค ำสง mutate สรำงคอลมนใหมชอวำ Mul และก ำหนดคำเทำกบ Freq คณ 5 และคอลมน Percent โดยก ำหนดเปนเปอรเซนตของชอง Freq จำกผลรวมทงหมดตำมสตร

Page 16: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

16

> mutate(HairEyeColor,Mul=Freq*5,Percent=100*Freq/sum(Freq)) # A tibble: 32 x 6 Hair Eye Sex Freq Mul Percent <chr> <chr> <chr> <dbl> <dbl> <dbl> 1 Black Brown Male 32 160 5.4054054 2 Brown Brown Male 53 265 8.9527027 3 Red Brown Male 10 50 1.6891892 4 Blond Brown Male 3 15 0.5067568 5 Black Blue Male 11 55 1.8581081 6 Brown Blue Male 50 250 8.4459459 7 Red Blue Male 10 50 1.6891892 8 Blond Blue Male 30 150 5.0675676 9 Black Hazel Male 10 50 1.6891892 10 Brown Hazel Male 25 125 4.2229730 # ... with 22 more rows

mutate สรางคอลมนใหมและมเงอนไข If…Else ค าอธบาย – ใชค ำสง mutate สรำงคอลมนใหมชอ Group โดยมเงอไขวำถำชอง Freq มคำมำกกวำ 30 จะก ำหนดคำเปน > 30 หรอถำชอง Freq มคำนอยกวำหรอเทำกบ 30 จะก ำหนดคำเปน <=30 > Mut<-mutate(HairEyeColor,Group=ifelse(Freq>30,">30","<=30")) > Mut # A tibble: 32 x 5 Hair Eye Sex Freq Group <chr> <chr> <chr> <dbl> <chr> 1 Black Brown Male 32 >30 2 Brown Brown Male 53 >30 3 Red Brown Male 10 <=30 4 Blond Brown Male 3 <=30 5 Black Blue Male 11 <=30 6 Brown Blue Male 50 >30 7 Red Blue Male 10 <=30 8 Blond Blue Male 30 <=30 9 Black Hazel Male 10 <=30 10 Brown Hazel Male 25 <=30 # ... with 22 more rows

Page 17: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

17

6. ค าส ง Group by

Group_by (Data,Column) // ส าหรบจดกลมขอมลโดยท างานตอมาจากค าสง Mutate Group_by ส าหรบจดกลมขอมล ค าอธบาย – ใชค ำสง group_by จดกลมขอมลคอลมน Group หำกดจำกขอมลถกแบงเปน 2 ชวงตงแตใชค ำสง mutate สรำงเงอนไขแตวำขอมลยงไมถกจดกลม ดงนนเมอใชค ำสง group_by ขอมลทเหมอนกนจะถกจดกลมไวดวยกน

> Group<-group_by(Mut,Group) > Group # A tibble: 32 x 5 # Groups: Group [2] Hair Eye Sex Freq Group <chr> <chr> <chr> <dbl> <chr> 1 Black Brown Male 32 >30 2 Brown Brown Male 53 >30 3 Red Brown Male 10 <=30 4 Blond Brown Male 3 <=30 5 Black Blue Male 11 <=30 6 Brown Blue Male 50 >30 7 Red Blue Male 10 <=30 8 Blond Blue Male 30 <=30 9 Black Hazel Male 10 <=30 10 Brown Hazel Male 25 <=30 # ... with 22 more row

summarise ดขอมลขอมลทถกจดกลม ค าอธบาย – เมอใชค ำสง summarise(Column) จะแสดงขอมลของกลมทถกจดไว หำกคอลมนไหนยงไมไดใชคสง group_by จดกลมจะไมสำมำรถเรยกดได > summarise(Group) # A tibble: 2 x 1 Group <chr> 1 <=30 2 >30

summarise ดขอมลในกลม ค าอธบาย – เมอใชค ำสง summarise(Column) เพอเรยกดขอมลทจดกลมยงสำมำรถหำคำอนๆ ไดดวยเชน ผลรวมคำในกลมนนๆ คำมธยฐำน จ ำนวนขอมลโดยใชค ำสง sum() ส ำหรบรวมขอมล n() ส ำหรบนบจ ำนวนขอมลของกลมนนๆ > summarise(Group,sum(Freq),median(Freq),n()) # A tibble: 2 x 4 Group `sum(Freq)` `median(Freq)` `n()` <chr> <dbl> <dbl> <int> 1 <=30 257 8 25 2 >30 335 50 7

Page 18: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

18

7. ค าส ง Table

ค ำสง Table คลำยกบ Pivot ใน Excel โดยจะจดกลมตวแปรทตองกำรและนบจ ำนวนของแตละตวแปรนนๆ สรปออกมำในรปแบบเมทรกซ แตจดเกบเปนแคขอมลตำรำงไมไดจดเกบอยในรปแบบ data frame

นบตวเลขขอมลจาก Data frame ของ country

> table(SpeechData$country) Eastasia Eurasia Oceana 150 150 150

นบตวเลขขอมลจาก Data frame ของระดบการศกษา (educ) เกบไวในตวแปร educ

> educ <-table(SpeechData$educ) > educ

1 2 3 4 5 6 7 NA 123 56 106 79 53 21 7 5

นบตวเลขขอมลจาก Data frame ของ country และ sex ทมการแบงขอมลเปนเมทรกซ > table(SpeechData$country,SpeechData$sex)

Men NA Women Eastasia 92 0 58 Eurasia 84 0 66 Oceana 74 1 75

จำกค ำสง Table จะเปนกำรจดกลมของขอมลและนบจ ำนวน แตหำกตองกำรน ำขอมลในกลมนนๆ โดยไมตองจดกลมกอน สำมำรถใชค ำสง DataFrame ตำมดวยชอตวแปรไดเลย > HairEyeColor$Hair

[1] "Black" "Brown" "Red" "Blond" "Black" "Brown" "Red" "Blond" "Black" "Brown" "Red" [12] "Blond" "Black" "Brown" "Red" "Blond" "Black" "Brown" "Red" "Blond" "Black" "Brown" [23] "Red" "Blond" "Black" "Brown" "Red" "Blond" "Black" "Brown" "Red" "Blond"

> Eye <-HairEyeColor$Eye

> Eye

[1] "Brown" "Brown" "Brown" "Brown" "Blue" "Blue" "Blue" "Blue" "Hazel" "Hazel" "Hazel" [12] "Hazel" "Green" "Green" "Green" "Green" "Brown" "Brown" "Brown" "Brown" "Blue" "Blue" [23] "Blue" "Blue" "Hazel" "Hazel" "Hazel" "Hazel" "Green" "Green" "Green" "Green"

Page 19: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

19

บทท 3 การสรางกราฟ (Data Visualization) 3.1 Pie Graph

นอกจำก R จะสำมำรถจดกำรกบขอมลไดแลวยงสำมำรถสรำงกรำฟหรอแผนภมไดหลำกหลำยแบบ หนงในนนคอแผนภมวงกลม (Pie-Chart) โดยสรปผลไดอยำงนำสนใจและสำมำรถแสดงตวเลขของขอมลก ำกบในแตละสวนท ำใหขอมลทดยงยำกเปนเรองทเขำใจงำยมำกขน

Syntax pie(x, labels, main, col, border)

x ส ำหรบเกบขอมลตวเลขเพอใชสรำงแผนภม labels ส ำหรบอธบำยตวเลขของกรำฟแตละชน

main ส ำหรบก ำหนดชอของแผนภม col ส ำหรบระบสใหขอมลแตละชนในแผนภม cex ส ำหรบก ำหนดขนำดตวอกษร border ส ำหรบก ำหนดสเสนขอบแผนภม

Ex-1 การสรางแผนภมจากขอมลเวกเตอรอยางงาย

ค าอธบาย – ก ำหนดคำใหตวแปร x เกบขอมลเวกเตอรและตวแปร labels เกบขอมลค ำอธบำย จำกนนสรำงแผนภมดวยค ำสง pie() แทนทตวแปรขำงในดงรป

> x <- c(21, 62, 10, 53) > labels <- c("London", "New York", "Singapore", "Mumbai") > pie(x,labels)

Ex-2 การสรางแผนภมจากขอมลเวกเตอรและเพมค าสงชอแผนภม ขนาดตวเลข และสแผนภม

ค าอธบาย – เพมเตมจำกตวอยำงท 1 โดยก ำหนดขนำดตวอกษรโดยใชค ำสง cex ตำมดวยขนำดทตองกำร ค ำสง main

ส ำหรบชอแผนภมและค ำสง col ส ำหรบสของแผนภม > x <- c(21, 62, 10, 53) > labels <- c("London", "New York", "Singapore", "Mumbai") > pie(x, labels, cex=0.7, main = "City pie chart", col = rainbow(length(x)))

Page 20: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

20

Ex-3 การสรางแผนภมจากขอมลเวกเตอรเพมกลองขอความ (legend)

ค าอธบาย – เพมเตมจำกตวอยำงท 2 หำคำเปอรเซนของขอมลแตละตวและแทนทในตวแปร piepercent และเพมกลองค ำอธบำยของขอมล (legend) แตละตวก ำหนดใหแสดงทมมบนดำนขวำ (topright) และขนำดตวอกษร (cex)

> x <- c(21, 62, 10, 53) > labels <- c("London", "New York", "Singapore", "Mumbai") > piepercent<- round(100*x/sum(x), 1) > pie(x, labels = piepercent,cex=0.7, main = "City pie chart",col = rainbow(length(x)))

> legend("topright", c("London","New York","Singapore","Mumbai"), cex = 0.8,

fill = rainbow(length(x)))

Ex-4 การสรางแผนภมจากขอมลจาก Data Frame

ค าอธบาย – กอนทจะสรำงแผนภมจำกขอมล Data frame เรำตองทรำบกอนวำขอมลทเรำจะน ำมำใชคอคอลมนไหนและอธบำยอะไร ตวอยำงขอมลทผมน ำมำเปนกำรเกบขอมลกำรใหคะแนนจำกกลมตวอยำงโดยเกบ เพศ (sex) อำย (age) กำรศกษำ (educ) เมอง(country) และคะแนนแตละขอ (y,v1-v6)

นบตวเลขขอมลจำก Data frame ของ country และ sex

> table(SpeechData$country) Eastasia Eurasia Oceana 150 150 150

> table(SpeechData$sex) Men NA Women 250 1 199

Page 21: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

21

ค าอธบาย – ตวอยำงนจะสรำงแผนภมแสดงจ ำนวนคนทตอบแบบสอบถำมในแตละเมองซงมคำเทำกบ 150 คนทกเมอง > Country<- table(SpeechData$country) > pie(Country, cex=0.7, main = "No of Country", col = rainbow(length(Country)))

Ex-5 สรางแผนภมจากขอมลแสดงจ านวนเพศ (sex) ใน Data frame โดยใชค าสงดานบน (แสดงเปอรเซน)

ค าอธบาย – ตวอยำงนจะสรำงแผนภมแสดงจ ำนวนเพศทตอบแบบสอบถำมโดยนบคำจำก Data Frame เกบไวทตวแปร sex

และค ำนวณสดสวนเปอรเซนกบไวท piepercent จำกนนใชค ำสงเหมอนตวอยำงดำนบนแสดงกรำฟ > sex<- table(SpeechData$sex) > piepercent<- round(100*sex/sum(sex), 1) > pie(sex, labels = piepercent, cex=0.7, main = "% of Sex",col = rainbow(length(sex))) > legend("topright", c("Men","NA","Women"), cex = 0.7, fill = rainbow(length(sex)))

Ex-6 สรางแผนภมจากขอมลแสดงจ านวนเพศ (sex) ใน Data frame โดยใชค าสงดานบน (แสดงตวเลข)

ค าอธบาย – ตวอยำงนจะสรำงแผนภมแสดงจ ำนวนเพศทตอบแบบสอบถำมโดยนบคำจำก Data Frame โดยจะแสดงเปนตวเลขจ ำนวนคน จำกนนใชค ำสงเหมอนตวอยำงดำนบนแสดงกรำฟ

> sex<- table(SpeechData$sex) > pie(sex, labels = sex, cex=0.7, main = "% of Sex", col = rainbow(length(sex))) > legend("topright", c("Men","NA","Women"), cex = 0.7, fill = rainbow(length(sex)))

Page 22: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

22

3.2 Bar Plot

นอกจำก R จะจดกำรกบขอมลไดแลวยงสำมำรถสรปผลออกมำเปนกรำฟหรอแผนภมแทงเพอแสดงคำของตวแปร 2 ตวระหวำงแกน X และ Y ทงแบบแนวตง แนวนอนหรอจะจดกลมของขอมลกลมเดยวกนไวในกรำฟแทงเดยวกนแยกเปนชนกได

Syntax Barplot(H, xlab, ylab, main, name.arg, col )

H ส ำหรบเกบขอมลตวเลขเพอใชสรำงแผนภม name.arg ส ำหรบอธบำยตวเลขของกรำฟแตละชน

main ส ำหรบก ำหนดชอของแผนภม col ส ำหรบระบสใหขอมลแตละชนในแผนภม border ก ำหนดสของเสนขอบกรำฟ ylab ขอมลแกน Y

xlab ขอมลแกน X

Ex-1 การสรางกราฟจากขอมลเวกเตอรอยางงาย

ค าอธบาย – ก ำหนดคำใหตวแปร H เกบขอมลเวกเตอรและตวแปร M เกบขอมลค ำอธบำย จำกนนสรำงแผนภมดวยค ำสง barplot แทนทตวแปรขำงในดงรป

> H <- c(21, 62, 10, 53) > barplot(H)

Ex-2 การสรางกราฟจากขอมลเวกเตอรและเพมค าสงชอกราฟ สกราฟและเสนขอบ ค าอธบาย – เพมเตมจำกตวอยำงท 1 โดยเพมค ำสง main ส ำหรบชอแผนภมและค ำสง col ส ำหรบสของแผนภม ylab ขอมลแกน Y และ xlab ขอมลแกน X > H <- c(7,12,28,3,41)

> M <- c("Mar","Apr","May","Jun","Jul") > barplot(H,names.arg = M, xlab = "Month", ylab = "Revenue",col = "green",

main = "Revenue chart",border = "red")

Page 23: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

23

Ex-3 การสรางกราฟในรปแบบแนวนอน ค าอธบาย – เพมเตมจำกตวอยำงท 2 โดยเพมค ำสง horiz = TRUE เพอใหกรำฟแสดงผลแนวนอน > H <- c(7,12,28,3,41)

> M <- c("Mar","Apr","May","Jun","Jul") > barplot(H,names.arg = M,xlab = "Revenue",ylab = " Month",col = "green",

main = "Revenue chart",border = "red", horiz = TRUE)

Ex-4 การสรางกราฟของขอมลหลายกลมและกลองขอความ (แบบชน)

ค าอธบาย – เมอขอมลทตองกำรสรำงกรำฟมมขอมลมำกกวำ 1 ตวแปรกำรสรำงกรำฟสำมำรถรวมกลมขอมลประเภทเดยวกนไวในแทงเดยวโดยแยกเปนชนและมกลองค ำอธบำยแยกเกบไวทตวแปร regions ขอมลสกรำฟเกบไวทตวแปร colors และค ำอธบำยเกบไวท months

> colors <- c("green","orange","brown") > months <- c("Mar","Apr","May","Jun","Jul") > regions <- c("East","West","North") > Values <- matrix(c(2,9,3,11,9,4,8,7,3,12,5,2,8,10,11),nrow = 3,ncol = 5,byrow = TRUE) > barplot(Values,main = "Total revenue",names.arg = months,xlab = "Month",ylab =

"Revenue",col = colors)

> legend("topleft", regions, cex = 0.5, fill = colors)

Page 24: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

24

Ex-5 การสรางกราฟของขอมลหลายกลมและกลองขอความ (แบบแทง) ค าอธบาย – จำกขอมลตวอยำงท 4 สำมำรเปลยนรปแบบกรำฟทซอนกนเปนชนเปนแบบแทงดำนขำงไดโดยเพมค ำสง beside

= TRUE > colors <- c("green","orange","brown")

> months <- c("Mar","Apr","May","Jun","Jul") > regions <- c("East","West","North") > Values <- matrix(c(2,9,3,11,9,4,8,7,3,12,5,2,8,10,11),nrow = 3,ncol = 5,byrow = TRUE) > barplot(Values,main = "Total revenue",names.arg = months,xlab = "Month",ylab =

"Revenue",col = colors, beside = TRUE)

> legend("topleft", regions, cex = 0.5, fill = colors)

Ex-6 การสรางแผนภมจากขอมล Data Frame

ค าอธบาย – กอนทจะสรำงแผนภมจำกขอมล Data frame เรำตองทรำบกอนวำขอมลทเรำจะน ำมำใชคอคอลมนไหนและอธบำยอะไร ตวอยำงขอมลทผมน ำมำเปนกำรเกบขอมลกำรใหคะแนนจำกกลมตวอยำงโดยเกบ เพศ (sex) อำย (age) กำรศกษำ (educ) เมอง(country) และคะแนนแตละขอ (y,v1-v6)

นบตวเลขขอมลจำก Data frame ของ country และ sex

> table(SpeechData$sex) Men NA Women 250 1 199

> table(SpeechData$country,SpeechData$sex)

Men NA Women

Page 25: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

25

Eastasia 92 0 58 Eurasia 84 0 66 Oceana 74 1 75

ค าอธบาย – ตวอยำงนจะสรำงกรำฟแสดงจ ำนวนคนทตอบแบบสอบถำมแยกตำมเพศและเรยกขอมลจำก data frame โดยใชค ำสง table(SpeechData$sex) โดยนบจ ำนวนคนเกบไวทตวแปร sex และใชค ำสงดำนบนสรำงกรำฟ > sex<- table(SpeechData$sex)

> barplot(sex,xlab = "Sex",ylab = "No of people",col = "green", main = "No of Sex",border = "red")

Ex-7 การสรางแผนภมจากขอมล Data Frame (แบบชน)

ค าอธบาย – ส ำหรบขอมลทมมำกกวำ 1 ตวแปรกำรสรำงกรำฟสำมำรถรวมกลมขอมลประเภทเดยวกนไวในแทงเดยวโดยแยกเปนชนโดยเรมจำกนบจ ำนวนเมองและเพศของผตอบแบบสอบถำมเกบไวท sex_country เปนขอมลแบบเมทรกซจำกนนเกบขอมลสไวในตวแปร colors และสรำงกรำฟโดยใชค ำสงเหมอนตวอยำงดำนบน > sex_country <- table(SpeechData$country,SpeechData$sex)

> colors <- c("green","orange","brown") > barplot(sex_country,xlab = "Sex",ylab = "No of people",col = colors, main = "No of Sex",border = "red")

Page 26: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

26

Ex-8 การสรางแผนภมจากขอมล Data Frame (แบบแทง)

ค าอธบาย – จำกตวอยำงท 8 สำมำรถแปลงรปแบบกรำฟใหแสดงดำนขำงของแตละกลมไดโดยเพมค ำสง beside = TRUE > sex_country <- table(SpeechData$country,SpeechData$sex)

> colors <- c("green","orange","brown") > barplot(sex_country,xlab = "Sex",ylab = "No of people",col = colors, main = "No of Sex",border = "red" ,beside = TRUE)

Ex-9 การสรางแผนภมจากขอมล Data Frame

ค าอธบาย – ตวอยำงนน ำขอมลสวนสงมำทดลองสรำงกรำฟเพอหำจ ำนวนจ ำนวนคนทมสวนสงขนำดตำงๆ โดยแบงตำมเพศ

จะเหนวำเพศหญงจะสวนสงอยในชวง 148-148 ซม. เพศชำยสวนสงอยในชวง 170 ขนไป > sex_height <- table(Height_Weight$sex,Height_Weight$height)

> barplot(sex_height,xlab = "Height",ylab = "No of people")

> barplot(sex_height,xlab = "Height",ylab = "No of people", beside = TRUE)

Page 27: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

27

3.3 Line Graph กรำฟเสน (Line Graph) เปนอกหนงแผนภมทนำสนใจส ำหรบกำรน ำเสนอขอมล โดยใชจดบนกรำฟแสดง

ควำมสมพนธของขอมลบนแกน X กบ Y และเชอมดวยเสนเหมำะส ำหรบขอมลทเปนตวเลขทงค (แกน X และ Y)

Syntax plot(v, type, xlab, ylab, main, col )

v คอเวกเตอรขอมลตวเลขม ำหรบใชสรำงแผนภม type คอรปแบบกรำฟ ประกอบดวย p : จด

l : เสน

o : เสน-จด แบบทบซอน b : เสน-จด เมนไมทบจด

c : เสน ไมมจด

s,S : แบบบนได

h : ฮสโทรแกรม main คอ ชอของแผนภม

col ส ำหรบระบสใหขอมลแตละชนในแผนภม ylab ขอมลแกน Y

xlab ขอมลแกน X

Ex-1 การสรางกราฟเสนจากขอมลเวกเตอรอยางงาย

ค าอธบาย – ก ำหนดคำใหตวแปร v เกบขอมลเวกเตอรและใชค ำสง plot วำดกรำฟเลอกประเภท (type) เปน o

> v <- c(7,12,28,3,41) > plot(v,type = "o")

Page 28: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

28

Ex-2 การสรางกราฟเสนจากขอมลเวกเตอรและเพมค าสงชอกราฟ สเสน ค าอธบายของ X,Y

ค าอธบาย – ก ำหนดคำใหตวแปร v เกบขอมลเวกเตอรและใชค ำสง plot วำดกรำฟเลอกประเภท (type) เปน o และเพม main ส ำหรบชอแผนภมและค ำสง ylab ขอมลแกน Y และ xlab ขอมลแกน X

> v <- c(7,12,28,3,41) > plot(v,type = "o", col = "red", xlab = "Month", ylab = "Rain fall",main = "Rain fall chart")

Ex-3 การสรางกราฟเสนจากขอมล 2 ชด ค าอธบาย – ก ำหนดคำใหตวแปร v เกบขอมลชดท 1 และ เกบขอมลชดท 2 ใชค ำสง plot วำดกรำฟเลอกประเภท (type)

เปน o และเพม main ส ำหรบชอแผนภมและค ำสง ylab ขอมลแกน Y และ xlab ขอมลแกน X

> v <- c(7,12,28,3,41) > t <- c(14,7,6,19,3)

> plot(v,type = "o", col = "red", xlab = "Month", ylab = "Rain fall",main = "Rain fall chart") > lines(t, type = "o", col = "blue")

Page 29: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

29

Ex-4 การสรางกราฟเสนจากขอมล Data Frame

ค าอธบาย – กอนทจะสรำงแผนภมจำกขอมล Data frame เรำตองทรำบกอนวำขอมลทเรำจะน ำมำใชคอคอลมนไหนและอธบำยอะไร ตวอยำงขอมลทผมน ำมำเปนกำรเกบขอมลกำรใหคะแนนจำกกลมตวอยำงโดยเกบ เพศ (sex) อำย (age) กำรศกษำ (educ) เมอง(country) และคะแนนแตละขอ (y,v1-v6) โดยตวอยำงในกรำฟเสนนจะใชขอมลกำรศกษำมำ

นบตวเลขขอมลจำก Data frame ของระดบกำรศกษำ (educ)

> table(SpeechData$educ) 1 2 3 4 5 6 7 NA 123 56 106 79 53 21 7 5

ค าอธบาย – ก ำหนดคำใหตวแปร v เกบขอมลชดท 1 และ เกบขอมลชดท 2 ใชค ำสง plot วำดกรำฟเลอกประเภท (type)

เปน o และเพม main ส ำหรบชอแผนภมและค ำสง ylab ขอมลแกน Y และ xlab ขอมลแกน X

> educ <- table(SpeechData$educ) > plot(educ,type = "o", col = "red", xlab = "Level", ylab = "No.",main = "No. of Education")

ลองเปลยน type เพอแสดงกราฟแบบตางๆ

> plot(educ,type = "p", col = "red", xlab = "Level", ylab = "No.",main = "No. of Education")

Page 30: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

30

> plot(educ,type = "b", col = "red", xlab = "Level", ylab = "No.",main = "No. of Education")

> plot(educ,type = "s", col = "red", xlab = "Level", ylab = "No.",main = "No. of Education")

> plot(educ,type = "l", col = "red", xlab = "Level", ylab = "No.",main = "No. of Education")

Page 31: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

31

3.4 Scatterplots Scatterplots เปนกำรสรำงกรำฟของขอมลระหวำง 2 ตวแปรทมขอมลปรมำณมำกและหลำยจดเพอดวำขอมลแตละ

ชดจบกลมกนอยหรอกระจำยตวคลำยกบกรำฟเสน (Bar Graph) แตขอมลแตละตวอำจมหรอมควำมสมพนธกนและขอมลทมปรมำณมำกจงไมนยมสรำงเสนเชอม

Syntax plot(x,y, main, xlab, ylab, xlim, ylim,col)

x,y คอเวกเตอรขอมลตวเลขม ำหรบใชสรำงแผนภม main คอ ชอของแผนภม

col ส ำหรบระบสใหขอมลแตละชนในแผนภม ylab ขอมลแกน Y

xlab ขอมลแกน X

ylim ก ำหนดชวงขอมลแกน Y

xlim ก ำหนดชวงขอมลแกน X

Ex-1 การสรางกราฟเสนจากขอมลเวกเตอรอยางงาย

ค าอธบาย – ก ำหนดคำใหตวแปร x แล y จำกนนสรำงกรำฟดวยค ำสง plot

> x <- c(300, 200, 100, 250, 150,170,220) > y <- c(9000, 5000, 12000, 7500, 18000,17000,12000) > plot(x, y)

Ex-2 การสรางกราฟเสนจากขอมล mtcars

ค าอธบาย – mtcars เปนขอมลทมำกบโปรแกรม R หำกยงไมมชดขอมลตวอยำงเรำสำมำรถใชค ำสงตำงๆ ทไดเรยนไปทดลองกบขอมล mtcars ได ในตวอยำงนจะลดลองใชขอมล wt (Car Weight) และ mpg (Miles Per Gallon) ของชดขอมล mtcars สรำงกรำฟ

> input <- mtcars[c('wt','mpg')] > plot(input$wt,input$mpg, xlab = "Weight", ylab = "Milage", xlim = c(2.5,5),

ylim = c(15,30), main = "Weight vs Milage")

Page 32: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

32

Ex-3 การสรางกราฟเสนจากขอมลน าหนกและสวนสง ค าอธบาย – ชดขอมลนน ำเขำจำกภำยนอกเปนขอมลสวนสงและน ำหนกของเพศชำยและหญงจ ำนวน 200 คน เรำจ ำน ำขอมลระหวำงน ำหลกและสวนสงของแตละคนมำสรำงกรำฟ Scatterplots เพอหำกำรกระจำยตวของขอมล > plot(Height_Weight$weight,Height_Weight$height)

> HW <- Height_Weight[c('height','weight')] > plot(HW$weight,HW$height,xlab = "Weight",ylab = "Height",

main = "Weight vs Height", col="blue")

Page 33: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

33

3.5 Histograms กรำฟฮสโทรแกรม (Histograms) ส ำหรบแสดงควำมถหรอนบขอมลในแตละชวงคลำยกบกรำฟแทง (Bar Graph)

ตำงกนตรงทกรำฟฮสโทรแกรมจะเปนกลมของขอมลทตอเนองกน และควำมสงแตละแทงของฮสโทรแกรมคอจ ำนวนคำทมอยในชวงนนๆ

Syntax hist(v, main, xlab, ylab, xlim, ylim, breaks, col, border, breaks, labels)

v คอเวกเตอรขอมลตวเลขม ำหรบใชสรำงแผนภม main คอ ชอของแผนภม

col ส ำหรบระบสใหขอมลแตละชนในแผนภม ylab ขอมลแกน Y

xlab ขอมลแกน X

ylim ก ำหนดชวงขอมลแกน Y

xlim ก ำหนดชวงขอมลแกน X

breaks ควำมกวำงของชวงขอมล

labels ส ำหรบควำมถของกรำฟแตละชวง

Ex-1 การสรางกราฟเสนจากขอมลเวกเตอรอยางงาย

ค าอธบาย – ก ำหนดคำใหตวแปร v เกบขอมลทงหมดไวในรปแบบเวกเตอร > v <- c(9,13,21,8,36,22,12,41,31,33,19) > hist(v)

Ex-2 การสรางกราฟจากขอมลเวกเตอรและเพมค าสงชอกราฟ สกราฟและเสนขอบ ค าอธบาย – เพมเตมจำกตวอยำงท 1 โดยเพมค ำสง main ส ำหรบชอแผนภมและค ำสง col ส ำหรบสของแผนภม ค ำสง border ส ำหรบสเสนขอบ ค ำสง ylab ขอมลแกน Y และ xlab ขอมลแกน X

> v <- c(9,13,21,8,36,22,12,41,31,33,19) > hist(v, main="Hist of V",ylab="No of Data", xlab = "Weight", col = "yellow", border = "blue")

Page 34: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

34

Ex-3 การสรางกราฟจากขอมลเวกเตอรและก าหนดความกวางชวงขอมลและจ านวนความถ ค าอธบาย – เนองจำกขอมลทเรำสรำงกรำฟฮสโตรแกรม R ไดก ำหนดควำมกวำงใหเองโดยดจำกคำทม ถำหำกเรำตองกำรก ำหนดเองทงแกน X และ Y สำมำรถท ำไดโดยเพมค ำสง xlim = c(0,40) ก ำหนดคำต ำสดและสงสดใหกบแกน X และค ำสง ylim = c(0,5) ก ำหนดคำต ำสดและสงสดใหกบแกน Y และ breaks ส ำหรบก ำหนดควำมกวำงใหกบชวงขอมล และใสตวเลขควำมถใหกรำฟแตละแทงดวยค ำสง labels = TRUE

> v <- c(9,13,21,8,36,22,12,41,31,33,19) > hist(v, main="Hist of V", xlab = "Weight",col = "green",border = "red", xlim = c(0,50),

ylim = c(0,5), breaks = 5, labels = TRUE)

Ex-4 การสรางกราฟฮสโทรแกรมจากขอมล Data Frame ค าอธบาย – กำรน ำขอมลจำก Data frame มำสรำงกรำฟหำคำควำมถจะใชวธดงขอมลมำเกบไวในตวแปรทตองกำรโดยไมตองนบหรอสรปเอง จำกนนฟงกชน hist จะน ำขอมลมำสรำงกรำฟโดยนบและแบงชวงใหตำมทเรำก ำหนด โดยตวอยำงจะสรำงกรำฟแสดงควำมถของชวงอำยคนทตอบแบบสอบถำมจำก SpeechData

> Age<-SpeechData$age > hist(Age, main="Range of Age", xlab = "Age",col = "green",border = "red",

xlim = c(0,100), ylim = c(0,150), breaks = 10, labels = TRUE)

Page 35: R Basic - The Memorableblog.dechathon.com/wp-content/uploads/2018/01/R-Tutorial.pdf · สร้ำงเมทริกซ์ โดยก ำหนดให้มี 2 แถว

35

Ex-5 การสรางกราฟฮสโทรแกรมจากขอมล Data Frame ค าอธบาย – กำรน ำขอมลจำก Data frame เรำสำมำรถปรบต ำสด สงสดหรอควำมกวำงของชวงใหเหมำะสมกบขอมลทเรำม เพอกำรแสดงผลทถกตองโดยตวอยำงจะนบจ ำนวนของผตอบแบบสอบถำมจำกชดขอมล SpeechData โดยเรยงล ำดบกำรศกษำต ำสดท 1 ไปถงสงสดท 7 > Educ<-SpeechData$educ > hist(Educ, main="Range of Age", xlab = " Educ. Level",col = "red",border = "red",

ylim = c(0,150), labels = TRUE)