Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore คู่มือการใช้โปรแกรมR

คู่มือการใช้โปรแกรมR

Published by bunthom.s, 2020-02-18 02:28:48

Description: คู่มือการใช้โปรแกรมR

Keywords: โปรแกรม,R

Search

Read the Text Version

วโิเดคยรใาชะ้โหปข์ ร้อแมกูลรมทางสถติ ิ ผชู้ ่วยศาสตราจารย์ ดร.บรรทม สุระพร ภาควชิ าคณิตศาสตร์ สถิติและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลยั อุบลราชธานี Version 1.00 ทาความดเี ปน็ ศรแี ห่งตัว ทาความชัว่ มัวหมองแห่งตน เกดิ เปน็ คนได้ท้งั ที จงทาดีให้มากมายไวเ้ ปน็ ทนุ ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถติ แิ ละคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลยั อบุ ลราชธานี

วิเคราะห์ขอ้ มูลทางสถติ โิ ดยใช้โปรแกรม R (Statistical Analyses with R) พิมพ์คร้ังที่ 1 : มกราคม 2562 สงวนลขิ สทิ ธ์ิตามกฎหมาย หา้ มคดั ลอกถา่ ยเอกสารหรือพมิ พ์ หรอื วธิ ีหนึ่งวธิ ีใดของหนังสือเลม่ นี้ก่อนได้รับอนุญาต ข้อมูลทางบรรณานกุ รมของสานักหอสมุดแห่งชาติ National Library of Thailand Cataloging in Publication Data บรรทม สรุ ะพร การวเิ คราะห์ขอ้ มูลทางสถิตโิ ดยใชโ้ ปรแกรม R -- อุบลราชธานี : โรงพมิ พม์ หาวทิ ยาลัยอบุ ลราชธานี, 2562. 214 หน้า 1. วิจัย I. ชื่อเรื่อง 001.4226 ISBN : 978 – 616 – 429 – 378 – 6 พิมพท์ ่ี : โรงพมิ พ์มหาวิทยาลัยอุบลราชธานี อาคารกจิ กรรมนกั ศกึ ษา 85 ถ.สถลมารค์ ราคา : ต.เมอื งศรีไค อ.วารนิ ชาํ ราบ จ.อุบลราชธานี 34190 200.- บาท ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถิติและคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

คานา (Introduction) ในการดาํ เนนิ กจิ กรรมต่าง ๆ มนษุ ย์มกั จะนึกถึงสง่ิ อํานวยความสะดวกหรือชว่ ยดาํ เนินกิจกรรม น้ันเสร็จอย่างรวดเร็วมปี ระสิทธภิ าพ ซึ่งสามารถนําส่ิงนน้ั มาบําบัดตามกิจกรรมนัน้ ได้ เชน่ คิดจะเดินทาง ไประยะทางไกลๆ จะนึกถึงยานพาหนะทีจ่ ะพาไป อาจจะเป็นเครื่องบิน รถยนต์ รถมอเตอร์ไซด์ จกั รยาน หรอื จนสดุ ทา้ ยคือเดนิ เอง หากมีสนามบินและมีเงนิ คา่ ต๋ัวก็ไปเครื่องบิน หากไมม่ ีก็มานึกว่ามี รถยนต์ หากมีก็ไป หากไม่มีก็มานึกถึงมีอะไรบ้างท่ีบาํ บัดได้ ในทํานองเดียวกัน หากจาํ เป็นจะต้อง คํานวณค่าเพ่อื ให้ได้ผลลพั ธ์ตามตอ้ งการ ก็จะนึกถึงคอมพิวเตอร์ โปรแกรมตา่ งๆ ที่ช่วยคํานวณ ยิ่งมี โปรแกรมทีเ่ หมาะสม สะดวกยงิ่ ดใี หญ่ หากไมม่ ีก็ใชเ้ ครื่องคิดเลข หากไมม่ ีก็จะใช้สมองคดิ เอง ใชห่ รือไม่ ในเอกสารฉบบั น้ีไดจ้ ดั ทาํ เพื่อจุดประสงค์เปน็ เครอื่ งมือทช่ี ่วยในการส่ังงานใหโ้ ปรแกรมสําเรจ็ รูป R ทํางานตามท่ีต้องการ ซ่งึ โปรแกรมสําเรจ็ รปู R นั้นจะทาํ งานได้เกง่ หรอื ฉลาดนน้ั ขึน้ อยู่กับผูส้ ง่ั งานว่ามี ความฉลาดทีจ่ ะส่งั งานได้มากน้อยเพียงใด ซึง่ ต่อจากนี้ไปก็เปน็ ภาระหน้าที่ของเราๆ ทา่ นๆ ผใู้ ช้ โปรแกรมท่จี ะบงั คับ สงั่ การ ใหง้ านทํากับเจา้ โปรแกรม R ตวั นี้ไดม้ ากนอ้ ยเพียงใด ก่อนอ่ืนต้องมาทํา ความรู้จัก ทําความคุ้นเคยกับเจ้าโปรแกรม R ก่อนว่า สามารถทําอะไรได้บ้าง เก่งหรอื อัจฉรยิ ะดา้ นใด มี ปมดอ้ ยด้านใด จึงจะให้สัง่ การได้อย่างเหมาะสมเพราะหากโปรแกรมไมม่ ีปัญญาทําได้ กอ็ ยา่ มวั ไป เสยี เวลาสง่ั การเลย เดย๋ี วจะหาวา่ ฉลาดน้อยกว่าโปรแกรมมันหละ ด้วยความปรารถนาดี ผศ.ดร.บรรทม สุระพร ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถติ แิ ละคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

สารบญั (Contents) หน้า บทที่ 1 บทนา (Introduction) 1 1.1 แนะนาํ โปรแกรม R….……………………………………...………...………….………………. 2 1.2 ข้อดีและเดน่ ของโปรแกรม………………………………………...………...………..……….. 2 1.3 การดาวนโ์ หลดโปรแกรม………………………………………...……….........………………. 4 1.4 การตดิ ตั้งโปรแกรม………………………………………...………...……………...……………. 5 1.5 การเรียกใช้งานโปรแกรม………………………………………...…….....………….…………. 6 1.6 สัญลกั ษณเ์ พอื่ การอธบิ าย………………………………………...………...………..…………. 7 1.7 การอา้ งอิง………………………………………………………....………....………………………. 8 1.8 การติดต้ัง R Commander………...………………………...………...……………………. บทที่ 2 การใช้งานโปรแกรม R แทนฟงั กช์ นั ใน Excel 9 2.1 การคาํ นวณท่วั ไป………………………………………...………...……..…..………………....... 10 2.2 การคํานวณฟังกช์ ันทางคณิตศาสตร์……………………..………………..………………….. 12 2.3 การคาํ นวณฟังก์ชนั ทางสถติ ิ…………………………………………...………....……………… บทท่ี 3 การจดั การข้อมูล (Data manipulations) 17 3.1 รปู แบบของออปเจค็ ใน R ………………………………………...………...……………………. 18 3.2 ชนดิ ของข้อมูลใน R ………………………………………………...………...……………………. 25 3.3 การอา่ นข้อมลู จากไฟลร์ ปู แบบตา่ งๆ ………………………………………...………...…….. 29 3.4 การจัดการขอ้ มูลด้วย Rcmdr…………..……………………………………...………...…….. 31 3.5 การแปลงข้อมูล…………………………………..…………………...………...……………………. 33 3.6 การบันทึกผลลพั ธ์จากการประมวลผลบน R ………………………………………...…….. 35 3.7 การวางแผนจัดทาํ แฟ้มข้อมูล………………………………….....………...……………………. บทที่ 4 การนาเสนอข้อมูล (Data Implementation) 41 4.1 การนําเสนอขอ้ มลู ในรปู ตาราง………………………………………...………...……………… 42 4.2 การนาํ เสนอข้อมลู ในรปู กราฟ……………………………….………...………...……………… 47 4.3 การนาํ เสนอข้อมูลในรปู แผนภาพ…………………………………....………...……………… 50 4.4 การสรา้ งฮสิ โตแกรม……………………………………………………….………...……………… 54 4.5 การสรา้ งตัวแบบการถดถอย...………………………………………...………...……………… บทท่ี 5 การใชแ้ พคเกจและการเขียนฟงั ก์ชนั บน R 61 5.1 แพคเกจมาตรฐาน (base package)……………………………………….......…....…… 62 5.2 แพคเกจสนับสนุน (contributed package)………………..…………......……..…… 67 5.3 การเขยี นฟังก์ชนั บน R………………………………………………..………….........…..…… ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถติ ิและคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

- ii – หน้า สารบัญ (Contents) 5.4 การเรียกใช้ user-defined function…………………………..…………...………..…… 68 5.5 การแก้ไข user-defined function……………………………..…………...………..…… 68 บทที่ 6 การวิเคราะหค์ า่ สถติ ิ (Statistical Analysis) 6.1 สถติ เิ ชงิ พรรณนา (Descriptive statistics) ………….......…………………..…..…… 69 6.1.1 การคาํ นวณคา่ แนวโน้มสสู่ ว่ นกลาง (tendency measure) ..…….…….… 69 6.1.2 การวดั คา่ การกระจาย (variation measure)…………..…….......…………… 71 6.2 สถติ เิ ชิงอนุมาน (Inferential statistics) ………….......……………………………..… 81 6.2.1 การอนุมานสาํ หรับประชากรเดยี ว.............................................................. 82 การประมาณค่าเฉลย่ี .................................................................................. 82 การประมาณค่าสัดสว่ น.............................................................................. 84 การประมาณคา่ ความแปรปรวน................................................................. 84 การทดสอบสมมตฐิ านคา่ เฉล่ีย.................................................................... 86 การทดสอบสมมตฐิ านคา่ สดั สว่ น................................................................ 91 การทดสอบสมมตฐิ านค่าความแปรปรวน................................................... 93 6.2.2 การอนุมานสาํ หรบั สองประชากร................................................................ 94 การประมาณผลต่างค่าเฉล่ยี 2 ประชากรที่อสิ ระกัน.................................. 94 การทดสอบสมมตฐิ านผลตา่ งของค่าเฉลี่ย 2 ประชากรที่อสิ ระกนั ............. 95 การทดสอบสมมติฐานผลตา่ งของค่าเฉลย่ี 2 ประชากรที่ไม่อิสระกนั ......... 98 การประมาณค่าและการทดสอบสมมติฐานของผลต่างสดั ส่วน 2 ประชากร...................................................................................... 99 การประมาณอัตราสว่ นคา่ ความแปรปรวน................................................. 101 การทดสอบสมมตฐิ านอัตราสว่ นความแปรปรวน....................................... 104 6.2.3 การอนุมานสําหรับ 2 ประชากรขึ้นไป........................................................ 107 การทดสอบค่าเฉลยี่ แบบการจาํ แนกทางเดียว............................................ 107 การทดสอบคา่ เฉล่ยี แบบที่มีการสมุ่ อยา่ งสมบรู ณใ์ นแต่ละกลุม่ .................. 113 การทดสอบคา่ ความแปรปรวนของประชากร k ชุด................................... 117 6.3 การวเิ คราะห์สัมประสทิ ธิ์สหสัมพันธ์ (Analysis of Correlation).…..…..….. 119 6.4 การวเิ คราะห์การถดถอย (Regression Analysis) …………...………..…..……… 131 6.5 การทดสอบโดยใชไ้ คสแควร์ (Chi – square test) ……....…………......………… 139 6.6 การวเิ คราะห์อาํ นาจการทดสอบ (Analysis of power of the test)…..… 147 6.7 การวิเคราะหค์ วามนา่ เช่ือถือของเคร่ืองมือในงานวจิ ยั (Reliability of measures)……….………………………………………………….…. 159 ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิติและคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

สารบัญ (Contents) - iii – หนา้ บทท่ี 7 การจาลอง (Simulation) 7.1 ตวั แปรสุ่มแบบไมต่ อ่ เน่ือง (Discrete Random Variables) 7.1.1 การแจกแจงทวนิ าม (Binomial distribution)…………...…….......…….…… 183 7.1.2 การแจกแจงปวั สซ์ ง (Poisson distribution)………….....…………………...… 185 7.1.3 การแจกแจงปัวส์ซงนยั ทวั่ ไป (generalized Poisson distribution)…... 187 7. 2 ตวั แปรสมุ่ แบบต่อเนอื่ ง (Continuous Random Variables) 7.2.1 การแจกแจงปกติ (Normal distribution)……………………...………………… 189 7.2.2 การแจกแจงที (student t - distribution)…………….……………..……….... 193 7.2.3 การแจกแจงไคสแควร์ (Chi square distribution)……………………….…... 195 7.2.4 การแจกแจงเอฟ (F distribution)………………………………………..……..…... 198 บทท่ี 8 การทดสอบการแจกแจง (Distribution testing) 8.1 การทดสอบความเป็นการกระจายปกติ (Normality distribution)………….…... 203 8.2 การทดสอบการแจกแจงปกติมาตรฐาน……………………………………..…………….…... 208 8.3 การทดสอบการแจกแจงปกติ................……………………………………..…………….…... 209 8.4 การทดสอบการแจกแจงไคสแควร์........……………………………………..…………….…... 211 8.5 การทดสอบการแจกแจงเอฟ.................……………………………………..…………….…... 211 8.6 การทดสอบการแจกแจงทวินาม............……………………………………..…………….…... 212 8.7 การทดสอบการแจกแจงปวั สซ์ ง.............……………………………………..…………….…... 213 บรรณานุกรม…………………………………………..…...………..…..……………………………………………….. 214 ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถติ แิ ละคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลยั อบุ ลราชธานี

1 บทนา (Introduction) 1.1 แนะนาโปรแกรม R R คอื Programming Language ซง่ึ เป็นโปรแกรมสําหรับการคาํ นวณทางสถติ แิ ละ แสดงกราฟกิ โดยเฉพาะ หรืออาจใช้คาํ นวณแทนเครื่องคิดเลขได้ โปรแกรม R ไดร้ ับการพฒั นา โดย Robert Gentleman และ Ross Ihaka ศาสตราจารยจ์ ากภาควชิ าสถิติ มหาวทิ ยาลัยอ๊อคแลนด์ ประเทศนิวซีแลนด์ ในปี 1995 ในปัจจุบนั อยภู่ ายใต้การดูแลของทีม พฒั นา ซึ่งเป็นอาสาสมัครจากทว่ั โลก โปรแกรม R พฒั นาข้ึนมาแบบ Open-source ทําให้ สามารถ Download โปรแกรมมาใช้ได้ฟรี จงึ มปี ระโยชนม์ ากท่จี ะนํามาใชง้ าน ซึ่งมอี ยู่บนหลาย แพลต็ ฟอร์ม เช่น Unix, Linux, Ms Windows โปรแกรม R ไดร้ บั การพัฒนาเพื่อมาทดแทน โปรแกรม S-Plus ทเี่ ป็นโปรแกรมคํานวณทางสถิตทิ ่ีได้รับความนยิ มเป็นอย่างมากแต่มลี ขิ สทิ ธิ์ ดงั นนั้ หากไมม่ ีค่าใช้จา่ ยด้านลิขสิทธ์ิ จึงเหน็ ควรใช้โปรแกรม R ซึ่งโปรแกรมนีส้ ามารถเขยี นรวม คาํ สงั่ แลว้ เก็บเปน็ Unit ไว้เป็นเฉพาะเรื่องไวเ้ พื่อจะได้นาํ มาเรยี กใชง้ านในด้านนี้เมอ่ื ต้องการ โดย R language มีเอกสารแนะนาํ และเอกสาร Help นอกจากนีย้ ังสามารถอา่ นเอกสารเฉพาะทาง ซง่ึ เขียนโดยผ้เู ช่ียวชาญในด้านนน้ั ๆ ได้จากเว็บไซด์ต่างๆ นอกจากน้แี หล่งข้อมลู ท่สี าํ คัญอกี คือ R- help mailing list ซง่ึ สามารถคน้ หาคาํ ถามและคําตอบหรอื จะสมคั รเพอื่ รบั และส่งอีเมล์กับ กล่มุ ดังกล่าวได้เชน่ กัน ในปัจจบุ ันมหี นังสือทเี่ ขยี นแนะนําการใช้ R ในการคํานวณสถติ ิมากข้นึ เร่ือยๆ ดังเชน่  Peter Dalgaard. 2002. Introductory Statistics with R (Statistics & Computing). Springer-Verlag New York Inc.  William N. Venables, David M. Smith. 2002. An Introduction to R. Network theory Ltd.  John Fox. 2002. An R and S-PLUS Companion to Applied Regression. Sage Publications Ltd.  John Maindonald and John Broun. 2003. Data Analysis and Graphics Using R : An Example-based Approach. Cambridge University Press.  Kimberley Secfeld, Michael Reich, Ernst linder. 2004. R for Bioinformatics. O’Reilly UK. This material is available as an R package from :  http://www.math.csi.cuny.edu/Statistics/R/SimpleR/Simple0.4.zip for Windows users.  http://www.math.csi.cuny.edu/Statistics/R/SimpleR/Simple0.4.tar.gz for Windows users.  http://www.math.csi.cuny.edu/Statistics/R/SimpleR/Simple for Windows users. ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถติ แิ ละคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

– 2 – การวิเคราะห์ข้อมูลทางสถิติ โดยใชโ้ ปรแกรม R 1.2 ข้อดแี ละเด่นของโปรแกรม R มีดงั นี้ เป็นโปรแกรมฟรี เปน็ open-source สามารถทํางาน บน Unix Windows และ Macintosh สามารถเกบ็ ผลลัพธห์ รือคา่ สถิติทไ่ี ดจ้ ากการคํานวณ ไว้ที่ตัวแปรใหม่ แลว้ สามารถนําผล นัน้ ไปวเิ คราะห์ค่าสถิติตวั อนื่ ต่อไปได้ มีระบบการช่วยเหลอื ท่ีดี มีการดาํ เนนิ การดา้ นกราฟต่างๆ ไดอ้ ยา่ งมีประสิทธิภาพ เป็นภาษาคําสั่งท่ีใช้งานได้งา่ ย ไม่ยงุ่ ยาก ซับซอ้ น 1.3 การดาวน์โหลดโปรแกรม โปรแกรม R มีลกั ษณะและการเขยี นคาํ สั่งคลา้ ยกับโปรแกรม S หรอื SPlus เป็น อย่างมาก ในเดือนพฤศจิกายน พ.ศ. 2559 โปรแกรม R รนุ่ ลา่ สดุ คือ 3.3.2 สามารถดาวน์ โหลดได้จากเวบไซต์ http://www. r–project.org การดาวน์โหลดโปรแกรม รายการทีป่ รากฏทางซา้ ยมอื จะมรี ายการ Download และปรากฏซอื่ CRAN ซ่ึงย่อ มาจาก Comprehensive R Archive Network อยู่ใตร้ ายการนี้ เมื่อคลิ๊ก CRAN จะข้นึ เวบ ไซตใ์ หมจ่ ะต้องเลือก CRAN Mirror โดยเลือกของประเทศไทย ไดแ้ ก่ http://mirrors.psu.ac.th/pub/cran/ จะเข้าส่เู วบไซต์ ดงั นี้ ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถติ ิและคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

บทนํา – 3 – เลือกประเทศไทย (Thailand) เลือก download for Windows เลอื กรายการ Download R for Windows เลือก base ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถิติและคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลยั อบุ ลราชธานี

– 4 – การวเิ คราะหข์ ้อมลู ทางสถิติ โดยใช้โปรแกรม R เลือกรายการ base เลือก download R 3.3.2 for… เลือกรายการ Download R 3.3.2 for Windows ซึ่งมีขนาด 62 megabytes และดาวนโ์ หลดจนเสร็จ 1.4 การตดิ ต้งั โปรแกรม ทําการติดตั้งโปรแกรมจากแฟ้ม R-3.3.2-win.exe โดยโต้ตอบทลี ะขั้นตอนจนทาํ การตดิ ตัง้ จนแลว้ เสรจ็ สมบูรณ์ ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิติและคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลยั อบุ ลราชธานี

บทนํา – 5 – 1.5 การเรียกใช้งานโปรแกรม การทาํ งานสว่ นใหญ่จะเปน็ การทํางานภายใตร้ ะบบปฏิสมั พันธ์ เม่อื ป้อนคําสงั่ ให้เจา้ โปรแกรมทาํ งานกจ็ ะได้รับผลจากการประมวลผลทันที การเร่มิ ตน้ โปรแกรม R สาํ หรบั เจ้าระบบ ปฏิบตั กิ าร Windows กระทําได้โดยคลิ๊กทไี่ อคอนของ R หน้าจอจะปรากฏหน้าตา่ งข้ึนมา แลว้ มารอการสั่งการจากผูใ้ ชเ้ รยี กสญั ลักษณ์ ( > ) น้นั วา่ command prompt ในการใช้คาํ สัง่ ต่างๆ จะอา้ งองิ การคํานวณจากสูตรทนี่ ําเสนอวิธีการคาํ นวณก่อน เพอื่ ให้ทราบที่มาของการคํานวณ จัก ไดเ้ ขา้ ใจความหมายของค่าสถิตทิ ไ่ี ดว้ า่ หมายความวา่ อยา่ งไร จะไดน้ ําไปอธบิ ายคา่ ท่ีไดเ้ ม่อื จะ อธิบายผล เครื่องหมาย > เรยี กว่า \"prompt\" เมอื่ ปรากฏเครื่องหมายน้ีแสดงใหท้ ราบวา่ สามารถ เขียนคาํ ส่ังต่อจากเคร่อื งหมาย prompt ถา้ หากคาํ สง่ั ยาวเกินหน่ึงบรรทดั จะปรากฏ เครือ่ งหมาย + ในบรรทัดถดั ไปโดยอัตโนมัติ เพือ่ แสดงวา่ มีคาํ ส่ังตอ่ จากบรรทัดก่อนหนา้ นี้ เม่ือ จบคาํ สัง่ และต้องการผลลัพธ์ใหก้ ดแปน้ Enter ก็จะปรากฏผลลัพธ์ในบรรทดั ถดั ไป ถึงคราวต้องมาทดลองใชง้ านกันดวู า่ ของฟรดี หี รือไม่ ซึ่งถา้ หากวา่ นําไปเปรยี บเทยี บกบั โปรแกรมที่ต้องซ้ือคงเปรยี บกันยาก แต่หากเปรยี บเทยี บกบั ไม่มีคา่ ใชจ้ า่ ยลขิ สทิ ธ์ิคือเรมิ่ จาก 0 คง มปี ระโยชนม์ ากคา่ เลยทเี ดียว ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิติและคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

– 6 – การวเิ คราะห์ขอ้ มูลทางสถิติ โดยใช้โปรแกรม R เรามาใชโ้ ปรแกรม R แทนเครอื่ งคิดเลข เชน่ ผลบวกของ 5 และ 3 จะได้ผลลัพธ์คือ 8 โดยใชค้ าํ สัง่ ดงั น้ี กด 5 กด + กด 3 กด = # คานวณ 5เป+็ น38 # ผลลพั ธ์ # คานวณ 10 + 4 – 12 = 2 ซ่ึงในการคานวณจะเรียงตามอนั ดบั ของกฎ Operation # ผลลพั ธ์ เป็ น 2 # ผลลพั ธ์ 93 = 729 # คานวณ 1.6 สัญลกั ษณ์เพอ่ื การอธิบาย ในการแยกสว่ นของคําส่ังโปรแกรม R กบั ผลท่ไี ด้จากการสง่ั งานน้ันแยกออกเป็นดงั นี้ ใช้เส้นตรงประในแนวดง่ิ แสดงสว่ นที่เป็นคําสั่งโปรแกรม R Longer sequences of R commands. และส่วนของผลลพั ธ์หรือคาํ อธิบายผลที่ได้จากการใชโ้ ปรแกรม R เช่น > a <‒ c(10,13,11,18,23,16,14,17,20,15) >a [1] 10 13 11 18 23 16 14 17 20 15 > mean(a) [1] 15.7 ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถติ แิ ละคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

บทนํา – 7 – อธิบายการสงั่ งานและผลลัพธจ์ ากคาํ สั่งการ เมื่อเรยี กใช้งานโปรแกรม R จะปรากฏสญั ลกั ษณ์ดังน้ี > หมายถงึ โปรแกรมหรือเครอื่ งหมายรอรับคาํ สงั่ นนั่ เอง (prompt command) จะให้ โปรแกรมทําอะไร สามารถส่ังงานตามรปู แบบของคําสั่งได้ [1] ส่วนเคร่ืองหมายนี้เป็นผลลัพธ์ท่ไี ด้จากคําสงั่ และเลข 1 นนั้ เป็นผลลัพธข์ องการเริ่มตน้ เพราะผลของการทํางานจะเร่ิม 1 ทกุ คร้ังเสมอ 1.7 การอ้างองิ การอ้างองิ R ในการเขยี นรายงานการวิจยั หรอื เขยี นเอกสารท่ีต้องการอ้างอิงจะเขียน การอา้ งองิ ดว้ ย R Development Core Team (2015) และเขยี นรายการอ้างอิง (bibitem) ใน บรรณานุกรม ดังนี้ R Core Team (2015). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org/. หรือเขยี น bibitem สาํ หรบั LaTeX ดังนี้ @Manual {, title = {R: A Language and Environment for Statistical Computing}, author = {{R Core team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2015} note = {{ISBN } 3-900051-07-0}, url = {http://www.R-project.org/}. ทั้งน้ีสามารถเขยี นคาํ สั่งเพ่ือแสดงรายการอ้างอิงดว้ ยคําส่งั citation() ในกรณีที่ต้องการอา้ งอิงแพคเกจใน R จะใชค้ ําสั่ง citation(\"pkgname\") เช่นการอ้างอิง สําหรับแพคเกจ MASS จะใช้คําสงั่ ดังนี้ > citation(\"MASS\") Venables, W. N. & Ripley, B.D. (2002) Modern Applied Statistics with S. Fourth Edition Springer, New York. ISBN 0-387-95457-0. หรอื เขยี น bibitem สาํ หรบั LaTeX ดงั น้ี @Book {, title = {Modern Applied Statistics with S}, author = {W. N. Venables and B. D. Ripley}, publisher = {Springer}, edition = {Fourth}, address = {New York} year = {2002} note = {ISBN} 0-387-95457-0}, url = {http://www.stats.ox.ac.uk/pub/MASS4 }, } ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถิติและคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลยั อบุ ลราชธานี

– 8 – การวิเคราะห์ขอ้ มูลทางสถิติ โดยใชโ้ ปรแกรม R 1.8 การตดิ ต้งั R Commander 1. เร่ิมต้น 2. Packages ▶ Install package(s)… 3. เลอื ก CRAN mirror ที่ตอ้ งการดาวน์โหลด 4. เลือกแพคเกจ Rcmdr และทาํ การดาวน์โหลดจนเสร็จ 5. Packages ▶ Load package… หรือใชฟ้ ังกช์ ัน > library(Rcmdr) เช่น > library(\"MASS\") ในการเริ่มต้น R Commander ครง้ั แรก อาจจะมีการดาวนโ์ หลดแพคเกจเพ่ิมเติม และ ตดิ ตั้งแพคเกจดังกลา่ วจนเสร็จ เริม่ ตน้ Rcmdr จะได้เมนูดงั นี้ ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถติ ิและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

2 แกทารนใฟชังง้ ากนช์ โนั ปใรนแEกรxมceRl 2.1 การคานวณทั่วไป (General Computing) เมื่อต้องการคํานวณค่าต่างๆ ซ่ึงสามารถใช้เคร่ืองคิดเลขได้ เช่น 5 + 2 – 3 เป็น 4 หรอื เช่น 52 = 25 อาจใชโ้ ปรแกรม R คํานวณให้ได้ ดงั น้ี # ซงึ่ ในการคาํ นวณจะเรยี งตามอนั ดบั ของกฎ Operation # การระมัดระวัง อาจใชเ้ ครอ่ื งหมาย ( ) ช่วย # อาจใชฟ้ ังก์ชันทางคณติ ศาสตร์ ซ่ึงจะมีรายละเอียดในส่วนของการใช้ฟงั ก์ชันตา่ งๆ # การใช้ฟงั ก์ชัน หากไม่มหี รือเรยี กผิด เคร่ืองจะฟอ้ ง ( ฮิๆๆ..) ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถิติและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

– 10 – การวิเคราะห์ขอ้ มลู ทางสถติ ิ โดยใชโ้ ปรแกรม R 2.2 การคานวณฟังก์ชันทางคณติ ศาสตร์ (Mathematical Computing) ในการเรียกใช้ฟังก์ชันต่างๆ ทางคณิตศาสตร์ จะขออ้างอิงฟังก์ชันท่ีนิยมใช้กัน แพร่หลาย เช่นในโปรแกรมสําเร็จรูป Excel เพื่อเป็นแนวทางและจะขอยกตัวอย่างบางส่วน หากต้องการทราบบางฟังก์ชันที่ไม่ได้กล่าว สามารถดูรายละเอียดได้ที่ help ของโปรแกรมได้ หรืออาจตามเอกสารอ่ืน ๆ โดยในที่น้ีขอเปรียบเทียบกับฟังก์ชันท่ีมีในโปรแกรม Excel ซ่ึง บรรทัดบนเป็นฟังก์ชันจาก Excel และผลลัพธ์ท่ีจะได้จากฟังก์ชัน ส่วนแถวล่างเป็นคําส่ังจาก โปรแกรม R ดังนี้ ABS(number) สง่ กลบั คา่ สัมบรู ณข์ องตัวเลข (ตวั เลขท่ีไมม่ ีเครื่องหมาย) > abs(x) # x คอื ตัวเลขต่างๆ ACOS(number) สง่ กลบั ค่าอาร์กโคไซนข์ องตวั เลขทีค่ ณุ ระบุ คา่ ทีส่ ่งกลบั จะอยู่ในรปู มมุ เรเดยี น ที่อยู่ในชว่ ง 0 ถึง pi หมายเหตุ: อารก์ โคไซนเ์ ป็นค่า มุมทีโ่ คไซน์ใช้หาคา่ >acos(x) ACOSH(number) สง่ กลบั คา่ ไฮเพอร์โบลกิ โคไซน์ผกผันของจํานวนทีร่ ะบุ >acosh(x) ASIN(number) สง่ กลับคา่ อารก์ โคไซนข์ องตัวเลขท่รี ะบุ คา่ ทีส่ ง่ กลับจะอยู่ในรูปมุม เรเดยี นในช่วง –Pi/2 ถงึ Pi/2 >asin(x) ASINH(number) สง่ กลบั ค่าไฮเพอร์โบลกิ ไซนผ์ กผันของจาํ นวนระบุ >asinh(x) ATAN(number) ส่งกลบั คา่ อารก์ แทนเจนตข์ องมมุ ในหนว่ ยเรเดยี นท่ีอยูใ่ นช่วง –Pi/2 ถึง Pi/2 >atan(x) ATAN2(x_num,y_num)สง่ กลับคา่ อารก์ แทนเจนต์ของพิกัด x- และ y- ทร่ี ะบุ คา่ ที่ ส่งกลบั จะอยู่ในรูปมมุ เรเดียนระหวา่ ง –Pi และ Pi (ไมน่ ับมุม -Pi). >atan2(x) ATANH(number) สง่ กลบั ค่าไฮเพอร์โบลกิ แทนเจนตผ์ กผันของจํานวนทีร่ ะบุ >atanh(x) CEILING(number,significance) ปัดตัวเลขขึน้ ให้เป็นจํานวนเตม็ ทีใ่ กล้เคียงท่สี ุด หรือ multiple of significance ท่ีใกล้เคียงทส่ี ุด >ceiling(x) COMBIN(number,number_chosen) สง่ กลบั จาํ นวนวธิ ีจัดหมเู่ ป็นไปได้สําหรับ รายการที่ระบุ >combn(n,x, FUN = NULL, simplify = TRUE, ...) COS(number) สง่ กลับค่าโคไซนข์ องมุม >cos(x) COSH(number) ส่งกลบั คา่ ไฮเพอร์โบลิกโคไซน์ของจํานวนที่ระบุ >cosh(x) EXP(number) ส่งกลับคา่ e ยกกาํ ลงั จาํ นวนทร่ี ะบุ >exp(x) FACT(number) ส่งกลับคา่ แฟกทอเรียลของตวั เลขทร่ี ะบุ (เทา่ กบั 1*2*3*...*ตวั เลข) >factorial(x) ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถิตแิ ละคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

ใช้งาน R แทนฟงั ก์ชนั ใน Excel – 11 – FLOOR(number,significance) ปัดตวั เลขลง (ใหค้ า่ เขา้ ใกล้ศูนย์) ให้เปน็ ค่า นยั สําคญั ท่ีใกล้ทีส่ ดุ (multiple of )significance >floor(x) INT(number) ปดั เศษจํานวนลงใหเ้ ปน็ จํานวนเตม็ ทใ่ี กล้เคียงทส่ี ดุ >integer(x) LN(number) สง่ กลบั ค่าลอการทิ ึมธรรมชาติของตวั เลขทร่ี ะบุ >log2(x) LOG(number,base) สง่ กลับค่าลอการทิ ึมของตัวเลข โดยใช้ฐานลอการทิ มึ ท่คี ุณระบุ >log(x,base) LOG10(number) สง่ กลบั คา่ ลอการทิ มึ ฐาน 10 ของจํานวนทรี่ ะบุ >log10(x) MDETERM(array) ส่งกลบั คา่ เมทริกซด์ ีเทอรม์ ิแนนต์ (matrix )determinant ของ อารเ์ รย์ >det(A) เมื่อ A เป็น array หรอื matrix >determinant(x, logarithm = TRUE, ...) MINVERSE(array) สง่ กลบั เมทริกซผ์ กผัน (inverse matrix) สาํ หรับ matrix ที่ เกบ็ ในรูปอาเรย์ >matrix.inverse(x) MMULT (array1,array2) ส่งกลับเมทริกซ์ผลคณู ของเมทรกิ ซ์ 2 เมทรกิ ซ์ (ทีเ่ ก็บอยู่ ในรปู อาเรย)์ เมทรกิ ซ์ผลคูณจะเป็นอาร์เรยท์ ่มี ีจํานวนแถวเท่ากบั Array1 (เมทริกซ์1) และจาํ นวนคอลมั นเ์ ทา่ กับ Array2 (เมทรกิ ซ์2) >C = A * B เมื่อ A , B เป็น array หรอื matrix จะได้ C เป็น array หรือ matrix MOD(number,divisor) สง่ กลับค่าเศษที่เหลือ หลงั จากทจี่ าํ นวนถกู หารโดยตัวหาร > ODD(number) ปดั ค่าข้ึนสําหรบั จํานวนบวก และปดั ค่าลงสําหรบั จํานวนลบ โดยจะ ปัดคา่ ให้เท่ากบั จํานวนเตม็ ท่ีเป็นเลขคีท่ ี่ใกลเ้ คียงที่สุด >zapsmall(x, digits = getOption(\"digits\")) PI( ) สาํ หรบั คา่ Pi ซึ่งเทา่ กบั 3.1415926535879 (ความละเอยี ด 15 หลัก) >pi PRODUCT(number1,number2,…) หาผลคณู ระหวา่ งตัวเลขท่ีถูกป้อนเป็น อารก์ ิวเมนตท์ ัง้ หมด >prod(..., na.rm = FALSE) RAND( ) สง่ กลับตวั เลขสมุ่ ท่ีมีคา่ มากกว่าหรอื เทา่ กบั 0 แต่นอ้ ยกวา่ 1 โดยจะ สุ่มจากตวั เลขทถี่ ูกกระจายอยู่อย่างเท่าๆ กัน (ค่าจะถกู เปล่ียนแปลง เมอ่ื ถูกคาํ นวณใหม)่ > Random.seed <— c(rng.kind, n1, n2, \\dots) RNGkind(kind = NULL, normal.kind = NULL) RNGversion(vstr) set.seed(seed, kind = NULL, normal.kind = NULL) ROUND(number,num_digits) ปดั เศษจาํ นวนใหเ้ ป็นจํานวนที่มีตําแหน่งทศนิยม ตามที่ระบุ >round(x, digits = 0) ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถิติและคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

– 12 – การวเิ คราะห์ขอ้ มูลทางสถิติ โดยใช้โปรแกรม R ROUNDDOWN(number,num_digits) ปดั เศษจาํ นวนลง >round(x, digits = 0) ปัดเศษจาํ นวนขนึ้ ROUNDUP(number,num_digits) >round(x, digits = 0) SIGN(number) สง่ กลบั ค่าเครอื่ งหมายของจํานวน: เทา่ กับ 1 ถ้าจํานวนเปน็ บวก, เท่ากบั 0 ถา้ จํานวนเปน็ ศูนย์หรือเทา่ กับ -1 ถ้าจาํ นวนเปน็ ลบ >sign(x) SIN(number) สง่ กลับค่าไซน์ของมุม >sin(x) ส่งกลบั คา่ ไฮเพอร์โบลกิ ไซนข์ องจาํ นวนทรี่ ะบุ SINH(number) >sinh(x) สง่ กลบั คา่ รากที่สองของตวั เลขท่ีระบุ SQRT(number) >sqrt(x) SUM(number1,number2,…) บวกจาํ นวนท้ังหมดในช่วงของเซลล์ >sum(x,y,z,..) colSums (x, na.rm = FALSE, dims = 1) rowSums (x, na.rm = FALSE, dims = 1) TAN(number) สง่ กลับค่าแทนเจนตข์ องมุม >tan(x) สง่ กลบั คา่ ไฮเพอร์โบลิกแทนเจนต์ของจาํ นวนที่ระบุ TANH(number) >tanh(x) TRUNC(number) ปัดเศษตัวเลขทิ้งให้เปน็ จาํ นวนเตม็ โดยการเอาทศนิยมหรอื เศษส่วนออก >trunc(x) 2.3 การคานวณฟังก์ชันทางสถิติ (Statistical Computing) AVERAGE(number1,number2,…) ส่งกลบั คา่ เฉลี่ย (ค่าเฉลยี่ เลขคณติ ) ของ อารก์ วิ เมนต์ทั้งหมด ซ่ึงสามารถเปน็ ตวั เลขหรอื ชอื่ , อารเ์ รย์ หรือการ อา้ งอิงท่ีมีตวั เลขอยดู่ ว้ ย >mean(x) AVERAGEA(value1,value2,…) สง่ กลับค่าเฉลี่ย (มชั ฌิมเลขคณติ ) ของ อาร์กิวเมนต์ โดยให้ข้อความ และค่า FALSE ในอากิวเมนต์เป็น 0 คา่ TRUE เป็น 1 อาร์กวิ เมนต์ทงั้ หลายสามารถเปน็ ได้ทั้งตัวเลข ชอ่ื อารเ์ รย์ หรอื การอ้างอิง >mean(x) BETADIST(x,alpha,beta,A,B) ส่งกลับค่าการแจกแจงความนา่ จะเปน็ แบบ เบตา้ สะสม (cumulative beta probability function) > dbeta(x, shape1, shape2, ncp = 0, log = FALSE) pbeta(q, shape1, shape2, ncp = 0, lower.tail = TRUE, log.p = FALSE) qbeta(p, shape1, shape2, ncp = 0, lower.tail = TRUE, log.p = FALSE) rbeta(n, shape1, shape2, ncp = 0) ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถิตแิ ละคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

ใชง้ าน R แทนฟงั กช์ นั ใน Excel – 13 – BINOMDIST(number_s,trials,probability_s,cumulative) สง่ กลับค่าความ น่าจะเปน็ ของการแจกแจงแบบทวนิ าม สาํ หรบั แต่ละชดุ ของผลการทดลอง > dbinom(x, size, prob, log = FALSE) pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE) qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE) rbinom(n, size, prob) CHDIST(x,deg_freedom) สง่ กลับค่าความน่าจะเปน็ ด้านเดยี วของการแจก แจงแบบไคสก์ าํ ลงั สอง > dchisq(x, df, ncp = 0, log = FALSE) pchisq(q, df, ncp = 0, lower.tail = TRUE, log.p = FALSE) qchisq(p, df, ncp = 0, lower.tail = TRUE, log.p = FALSE) rchisq(n, df, ncp = 0) CHITEST(actual_range,expected_range) ส่งกลบั คา่ การทดสอบความเปน็ อสิ ระ: คา่ ความนา่ จะเปน็ จากการแจกแจงแบบไคส์กําลงั สอง (c2) ของสถิติไคส์กาํ ลงั สองและองศาความเปน็ อสิ ระท่ีเหมาะสม >chisq.test(x, y = NULL, correct = TRUE, p = rep(1/length(x), length(x)), rescale.p = FALSE, simulate.p.value = FALSE, B = 2000) CONFIDENCE(alpha,standard_dev,size) สง่ กลับคา่ ชว่ งความเชอ่ื มัน่ (confidence interval) ของค่าเฉล่ยี ประชากร >confint(object, parm, level = 0.95, ...) CORREL(array1,array2) ส่งกลบั ค่าสมั ประสทิ ธสิ์ หสัมพันธร์ ะหวา่ งชุดขอ้ มลู 2 ชุดขอ้ มลู > cor(x, y = NULL, use = \"everything\", method = c(\"pearson\", \"kendall\", +\"spearman\")) COUNT(value1,value2,…) นับจํานวนของเชลล์ทีม่ ีตัวเลขและจาํ นวนตัวเลข ภายในรายการของอารก์ วิ เมนต์ > count(df, vars = NULL, wt_var = NULL) COVAR(array1,array2) ส่งกลับคา่ ความแปรปรวนรว่ ม (covariance) ซง่ึ เปน็ คา่ เฉลีย่ ของผลคณู ของสว่ นเบย่ี งเบนสําหรับแต่ละจุดขอ้ มลู ท่ี สอดคลอ้ งกันใน 2 ชุดข้อมลู > cov(x, y = NULL, use = \"everything\", method = c(\"pearson\", \"kendall\", +\"spearman\")) > cov2cor(V) EXPONDIST(x,lambda,cumulative) สง่ กลบั ค่าการแจกแจงแบบเอ็กซ์โพเนน เซียล > dexp(x, rate = 1, log = FALSE) pexp(q, rate = 1, lower.tail = TRUE, log.p = FALSE) qexp(p, rate = 1, lower.tail = TRUE, log.p = FALSE) rexp(n, rate = 1) FDIST(x,deg_freedom1,deg_freedom2) สง่ กลบั คา่ F ของการแจกแจง ความนา่ จะเป็น (degree of diversity) สาํ หรบั ชุดข้อมลู 2 ชดุ > df(x, df1, df2, ncp, log = FALSE) pf(q, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE) qf(p, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE) rf(n, df1, df2, ncp) ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถติ แิ ละคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

– 14 – การวิเคราะห์ขอ้ มลู ทางสถิติ โดยใช้โปรแกรม R FISHER(x) สง่ กลบั ค่าการแปลง Fisher > fisher.test(x, y = NULL, workspace = 200000, hybrid = FALSE, control = list(), or = 1, alternative = \"two.sided\", conf.int = TRUE, conf.level = 0.95, simulate.p.value = FALSE, B = 2000) FORECAST(x,known_y’s,known_x’s) คํานวณหรอื ทํานายค่าในอนาคต ตาม แนวโน้มเชงิ เส้น ท่ถี กู คาํ นวณโดยการใช้คา่ ท่ีมีอยู่ > predict(object, n.ahead = 1, newxreg = NULL, se.fit = TRUE, ...) FTEST(array1,array2) สง่ กลับคา่ ผลลพั ธข์ อง F-test ซ่งึ เปน็ คา่ ความน่าจะเป็น ดา้ นเดยี ว (one -tailed) ซ่ึงเป็นผลมาจากการทดลองท่คี วามแปรปรวน ของ Array1 และความแปรปรวนของ Array2 ไม่แตกตา่ งกันมากนกั >fisher.test(x, y = NULL, workspace = 200000, hybrid = FALSE, control = list(), or = 1, alternative = \"two.sided\", conf.int = TRUE, conf.level = 0.95, simulate.p.value = FALSE, B = 2000) GAMMADIST(x,alpha,beta,cumulative) ส่งกลบั คา่ การแจกแจงแบบแกมมา > dgamma(x, shape, rate = 1, scale = 1/rate, log = FALSE) pgamma(q, shape, rate = 1, scale = 1/rate, lower.tail=TRUE,log.p=FALSE) qgamma(p, shape, rate = 1, scale = 1/rate, lower.tail=TRUE,log.p=FALSE) rgamma(n, shape, rate = 1, scale = 1/rate) HARMEAN(number1,number2,…) สง่ กลบั ค่าเฉล่ียฮาร์มอนิก (hanonic – H.M.) ของชุดข้อมูลจํานวนบวก: ส่วนกลับของค่าเฉลยี่ เลขคณติ ที่มี สูตรเป็นส่วนกลับ >weighted.mean(x,wt) เช่น wt <‒c(5,5,4,1)/15 x <‒c(3.7,3.3,3.5,2.8) xm = <‒weighted.mean(x,wt) [1] 3.453333 HYPGEOMDIST(sample_s,number_sample,population_s,…) สง่ กลับค่า การแจกแจงแบบไฮเพอร์ - ยีออเมตรกิ > dhyper(x, m, n, k, log = FALSE) phyper(q, m, n, k, lower.tail = TRUE, log.p = FALSE) qhyper(p, m, n, k, lower.tail = TRUE, log.p = FALSE) rhyper(nn, m, n, k) INTERCEPT(known_y’s,known_x’s) คาํ นวณหาจดุ ท่เี ส้นจะตดั แกน y โดยการ ใชเ้ ส้นถดถอยทถี่ ูกลากผ่านคา่ x และ y ท่รี ู้อยแู่ ล้วโดยวิธี best-fit >num.intercepts(fit, type=c('fit', 'var', 'coef')) KURT(number1,number2,…) สง่ กลับค่าเคอรโ์ ทซสิ (kurtosis) ของชุดข้อมูล >kurtosis(x, na.rm = FALSE, type = 3) LARGE(array,k) สง่ กลับค่าทมี่ ากท่ีสุดในลําดบั ท่ี K ของชดุ ขอ้ มูล ตัวอยา่ งเช่น ตัวเลขท่ีมากทส่ี ุดเป็นอันดับ 5 ของชดุ ตัวเลข >max(x) LINEST(known_y’s,known_x’s,const,stats) สง่ กลบั คา่ สถิติ ซึ่งจะบอก ลกั ษณะเสน้ แนวโนม้ ทส่ี อดคล้องกับจุดข้อมลู ท่รี ู้คา่ (โดยการปรบั ให้ เปน็ เสน้ ตรงที่ประมาณได้จากการใชว้ ิธีกาํ ลงั สองน้อยท่ีสดุ ) > ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถิติและคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

ใช้งาน R แทนฟงั ก์ชันใน Excel – 15 – MAX(number1,number2,…) ส่งกลับคา่ ท่มี ากทส่ี ดุ ในชุดของคา่ ท่ีระบุ ยกเวน้ ค่าตรรกศาสตร์ และข้อความ >max(x) MEDIAN(number1,number2,…) สง่ กลับคา่ มัธยฐานหรอื จํานวนทอี่ ยู่ตรงกลาง ของชดุ จาํ นวนทีร่ ะบุ >median(x) MIN(number1,number2,…) ส่งกลับจาํ นวนทีน่ อ้ ยท่ีสุดในชุดของค่าทีร่ ะบุ ยกเวน้ ค่าตรรกศาสตร์และขอ้ ความ >min(x) NEGBINOMDIST(number_f,number_s,probability_s) สง่ กลบั ค่าการ แจกแจงแบบทวินามลบ (negative binomial distribution) ซง่ึ เปน็ ค่าความน่าจะเปน็ ทีจ่ ะมีความลม้ เหลว number_f คร้ัง เกิดขึ้นก่อนทีจ่ ะเกิดความสาํ เรจ็ ครั้งท่ี number_s ทงั้ นี้คา่ ความนา่ จะเป็นทีจ่ ะสําเร็จในแตล่ ะการทดลองเท่ากับ probability_s > dnbinom(x, size, prob, mu, log = FALSE) pnbinom(q, size, prob, mu, lower.tail = TRUE, log.p = FALSE) qnbinom(p, size, prob, mu, lower.tail = TRUE, log.p = FALSE) rnbinom(n, size, prob, mu) NORMDIST(x,mean,standard_dev,cumulative) สง่ กลบั คา่ การแจกแจง แบบปกติสะสม สาํ หรบั ค่าเฉล่ียและส่วนเบ่ียงเบนมาตรฐานที่ระบุ > dnorm(x, mean = 0, sd = 1, log = FALSE) pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE) qnorm(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE) rnorm(n, mean = 0, sd = 1) PEARSON(array1,array2) สง่ กลับค่าสมั ประสิทธข์ องเพียรส์ ัน (pearson product moment correlation) หรอื ค่า r > rcorr.adjust(x, type = c(\"pearson\", \"spearman\"), use=c(\"complete.obs\", \"pairwise.complete.obs\")) PERCENTILE(array,k) ส่งกลบั ค่าทีเ่ ท่ากบั เปอรเ์ ซน็ ต์ไทล์ (percentile) ที่ k ของ คา่ ในช่วงทร่ี ะบุ > bpplot(..., name=TRUE, main=\"Box-Percentile Plot\", xlab=\"\", ylab=\"\", srtx=0) PERMUT(number,number_chosen) ส่งกลับจํานวนวิธีการเรยี งสับเปลีย่ นที่ เป็นไปได้ทั้งหมด สําหรบั จาํ นวนวัตถุที่กาํ หนดใหเ้ ลือกจากวัตถุ ทง้ั หมด >permutations(n) ส่งกลบั ค่าการแจกแจงแบบปัวส์ซง POISSON(x,mean,cumulative) > dpois(x, lambda, log = FALSE) ppois(q, lambda, lower.tail = TRUE, log.p = FALSE) qpois(p, lambda, lower.tail = TRUE, log.p = FALSE) rpois(n, lambda) ส่งกลบั คา่ ควอรไ์ ทล์ (quartile) ของชดุ ข้อมูล QUARTILE(array,quart) >qqPlot(x, ...) ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถิตแิ ละคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

– 16 – การวเิ คราะห์ข้อมูลทางสถติ ิ โดยใชโ้ ปรแกรม R SKEW(number1,number2,…) ส่งกลับคา่ ความเบ้ของการแจกแจง: เป็นคา่ ท่ี แสดงลักษณะระดบั ของความไมส่ มมาตรของการแจกแจงรอบๆ คา่ เฉล่ีย >skewness(x, na.rm = FALSE, type = 3) STDEVA(valua1,value2,…) ประมาณคา่ ส่วนเบย่ี งเบนมาตรฐานจาก ตวั อยา่ งของประชากร โดยให้รวมค่าตรรกศาสตร์และข้อความในการ คํานวณดว้ ย ขอ้ ความและค่าตรรกศาสตร์ FALSE มคี ่าเป็น 0 ; คา่ ตรรกศาสตร์ TRUE มคี ่าเป็น 1 >sd(x) STEYX(known_y’s,known_x’s) ส่งกลับคา่ ความคลาดเคล่ือนมาตรฐาน ของค่า y ทีถ่ ูกทํานายสาํ หรับคา่ x แตล่ ะค่าบนเส้นถดถอย > TDIST(x,deg_freedom,tails) ส่งกลบั ค่า t ในรูปเปอร์เซน็ ต์ของการแจกแจงคา่ t (student) > dt(x, df, ncp, log = FALSE) pt(q, df, ncp, lower.tail = TRUE, log.p = FALSE) qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE) rt(n, df, ncp) TTEST(array1,array2,tails,type) สง่ กลบั ค่าความน่าจะเป็นที่ได้จากการทํา t-Test (student) > t.test(x, ...) ## Default S3 method: t.test(x, y = NULL, alternative = c(\"two.sided\", \"less\", \"greater\"), +mu = 0, paired = FALSE, var.equal = FALSE, conf.level = 0.95, ...) ## S3 method for class 'formula' t.test(formula, data, subset, na.action, ...) VAR(number1,number2,…) ประมาณค่าความแปรปรวนโดยใช้ค่า ตัวอยา่ งเป็นพ้นื ฐาน (ละเวน้ ค่าตรรกศาสตร์ และข้อความ) > var(x, y = NULL, na.rm = FALSE, use) WEIBULL(x,alpha,beta,cumulative) ส่งกลับค่าการแจกแจงแบบ weibull > dweibull(x, shape, scale = 1, log = FALSE) pweibull(q, shape, scale = 1, lower.tail = TRUE, log.p = FALSE) qweibull(p, shape, scale = 1, lower.tail = TRUE, log.p = FALSE) rweibull(n, shape, scale = 1) สง่ กลบั ค่า P สองด้านของการทดสอบ z – test ZTEST(array,x,sigma) >z.test(x, y = NULL, alternative = \"two.sided\", mu = 0, sigma.x = NULL, sigma.y = NULL, conf.level = 0.95) ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถติ ิและคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

3 การจดั การขอ้ มลู (Data manipulation) ข้อมลู (data) หรอื สารสนเทศ(Information) คอื คา่ ท่ีเปน็ ตัวแทนของข้อเทจ็ จรงิ หรอื ความเปน็ จริงแสดงคณุ ลกั ษณะเฉพาะของสภาพปัญหาท่ีตอ้ งการคําตอบ ดงั นั้นในการได้มาซง่ึ ข้อมลู นัน้ มคี วามสําคัญมาก ซึ่งหากเป็นขอ้ มลู ทางวทิ ยาศาสตร์ เช่นนํ้าหนกั ความยาว ระยะเวลา เป็นตน้ สามารถใช้เครื่องมือทางวทิ ยาศาสตรเ์ ช่น ตาช่ัง ไม้บรรทัด นาฬิกา อน่ื ๆ ซึ่งมใี ช้อยู่ทวั่ ไป เพียงเลอื ก มาแล้วตรวจสอบวา่ ไม่ชาํ รดุ ก็นาํ มาใช้เกบ็ ขอ้ มูลได้เลย แต่หากเป็นข้อมลู ทางมนุษยศาสตรส์ ังคมศาสตร์ นั้นไมม่ เี ครอื่ งมอื ในการเกบ็ รวบรวมข้อมลู สําเรจ็ รปู ให้ใช้ ดงั น้นั นักวิจัยหรือนกั เกบ็ ข้อมูลจงึ จําเป็นตอ้ ง สรา้ งเครอื่ งมอื ขึ้นมาใช้เอง ซง่ึ การสร้างเครื่องมือเพ่อื ใช้เก็บรวบรวมข้อมูลนน้ั ต้องมีมาตรฐาน มคี วาม เที่ยงตรงมีความเชื่อมัน่ สงู จึงจะใช้เก็บรวบรวมข้อมลู เช่นแบบสอบถาม แบบสัมภาษณ์ แบบสงั เกต เปน็ ต้น ซึง่ หากเก็บรวบรวมข้อมูลมาไม่ดีพอ เม่ือทําการวิเคราะหค์ าํ นวณค่าสถิติต่างๆ คา่ ท่ีได้ก็ไมส่ ่อื ความหมายไมม่ ปี ระโยชน์ ดังสํานวนทีว่ า่ ขยะเข้าขยะออก หรอื garbage in garbage out การเตรียมข้อมลู หรอื การนาํ ขอ้ มลู เข้าสูโ่ ปรแกรม R นั้นทาํ ไดห้ ลายวิธี ซง่ึ อาจเป็นการปอ้ น ขอ้ มลู เขา้ โดยตรง หรอื อ่านจากแฟ้มข้อมลู ท่ีเก็บไว้ อาจจะเปน็ ไฟลใ์ นรูป ASCII MS Excel หรอื SPSS หรอื อาจจะใช้วธิ กี ารคัดลอกแล้ววางก็เป็นไปได้ 3.1 รูปแบบของออบเจค็ ต์ใน R ในการทาํ งานของโปรแกรม R จะมองชดุ ของข้อมลู เป็นออบเจ็คต์ท้งั หมด โดยท่ขี ้อมูลท่ี สรา้ งขน้ึ หรอื ดงึ เข้ามาในระบบขณะน้ันจะถูกเก็บไวใ้ นรปู ออบเจค็ ต์ และเกบ็ ไว้ในโพลเดอร์ .Data สามารถตรวจสอบออบเจ็คต์ด้วยคําสง่ั ls() หรอื objects() และตรวจสอบชุดข้อมูลโดยใชค้ าํ สง่ั data() และถ้าต้องการดงึ ขอ้ มูลเขา้ มาใช้ ต้องใช้คําส่ัง attach(filename) หรือ data(filename) เชน่ > attach(STUDENT1) > data(STUDENT1) > objects() [1] \"STUDENT1\" ในเบือ้ งตน้ น้จี ะมีคําสั่งที่มปี ระโยชน์อีกสองคาํ ส่งั คือ search() และ library() ซง่ึ search() จะแสดงรายชอ่ื ของแพคเกจที่ถูกดงึ เข้ามาในระบบเรียบร้อยแลว้ >search() [1] \"GlobalEnv\" \"package:stats\" \"package:graphics\" [4] \"package:grDevices\" \"package:utils\" \"package:datasets\" [7] \"package:methods\" \"Autoloads\" \"package:base\" ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถติ แิ ละคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

– 18 – การวิเคราะห์ขอ้ มลู ทางสถติ ิ โดยใชโ้ ปรแกรม R ส่วน library() จะแสดงรายช่อื แพคเกจที่ถูกติดตงั้ ไวใ้ น R โดยระบบและผ้ใู ชส้ ามารถเรียกใช้ แพคเกจน้นั ได้ ซึ่งมแี พคเกจปรากฏดงั นี้ 3.2 ชนิดของข้อมูลใน R 3.2.1 เวคเตอร์ (Vectors) เป็นออบเจคต์ชนิดหน่ึง ในกรณีที่ข้อมูลเป็นตัวแปรสุ่มเดียว จะเก็บค่าในรูปเวคเตอร์ โดยใชค้ ําส่งั c(…) ดังน้ี > x <‒ c(4,5,6,7,8) >x [1] 4 5 6 7 8 และสามารถกระทําการด้วยวิธีการทางคณิตศาสตร์กับเวคเตอร์นี้ได้ เช่นต้องการยกกําลัง สองสําหรับเวคเตอร์ x > x^2 [1] 16 25 36 49 64 > y <‒ x^2 >y [1] 16 25 36 49 64 > sqrt(y) [1] 4 5 6 7 8 นอกจากนย้ี งั สามารถเกบ็ คา่ ในรูปตวั อักษร เช่น > y <‒ c(\"Bunthom\",\"Mew\",\"Winai\") >y [1] \"Bunthom\" \"Mew\" \"Winai\" ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถิตแิ ละคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

การจดั การข้อมลู – 19 – นอกจากน้ีสามารถรวมเวคเตอร์เขา้ ดว้ ยกนั โดยใช้คําสัง่ cbind() และ rbind() โดย ท่ี cbind() จะเปน็ การเช่ือมต่อในเชิงคอลมั น์ และ rbind() เป็นการเชอ่ื มต่อในเชิงแถว > A <‒ c(1,2,3,4) > B <‒ c(5,6,7,8) > cbind(A,B) AB [1,] 1 5 [2,] 2 6 [3,] 3 7 [4,] 4 8 หากตอ้ งการเกบ็ ค่าทรี่ วมกนั แล้วไว้ในตัวแปรใหมก่ ส็ ามารถทาํ ได้ ดังนี้ > C <‒ cbind(A,B) >C AB [1,] 1 5 [2,] 2 6 [3,] 3 7 [4,] 4 8 > rbind(A,B) [,1] [,2] [,3] [,4] A1 23 4 B5 67 8 > D <‒ rbind(A,B) >D [,1] [,2] [,3] [,4] A1 2 3 4 B5 6 7 8 3.2.2 ลําดับ (Sequences) สามารถสร้างออบเจ็คต์ในรูปลาํ ดับ (sequence) ด้วยคาํ สง่ั seq(from=…, to=…,by=…) โดยที่ by หมายถึงส่วนทเ่ี ปลยี่ นแปลงระหว่างคา่ เชน่ > seq(0,5,0.25) [1] 0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 [12] 3.75 4.00 4.25 4.50 4.75 5.00 > seq(20) [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > seq() [1] 1 > 0:10 [1] 1 2 3 4 5 6 7 8 9 10 >E <‒ seq(0,10,0.25) >E [1] 0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 [13] 3.00 3.25 3.50 3.75 4.00 4.25 4.50 4.75 5.00 5.25 5.50 5.75 [25] 6.00 6.25 6.50 6.75 7.00 7.25 7.50 7.75 8.00 8.25 8.50 8.75 [37] 9.00 9.25 9.50 9.75 10.00 > mean(E) [1] 5 ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถติ แิ ละคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

– 20 – การวิเคราะห์ขอ้ มูลทางสถิติ โดยใชโ้ ปรแกรม R ซ่งึ พบว่าค่า default ของคําสง่ั นี้คอื from=1,to=1,by=1 นนั่ เอง คาํ ส่งั rep(a,n) จะสร้างค่า a ที่ซาํ้ กันจาํ นวน n ครัง้ ใช้คําส่งั ดังน้ี > rep(3,5) [1] 3 3 3 3 3 > rep(c(2,5),3) [1] 2 5 2 5 2 5 > rep(c(2,4,8), length=5) [1] 2 4 8 2 4 > c(rep(3,4), rep(2,3)) [1] 3 3 3 3 2 2 2 > rep(1:3, rep(3,3)) [1] 1 1 1 2 2 2 3 3 3 > rep(1:3, rep(3,2)) Error in rep(1:3, rep(3,2)) : invalid ‘times’ argument 3.2.3 เมตริกซ์ (Matrix) สามารถสรา้ งออบเจค็ ต์ในรปู เมตริกซ์ (Matrix) ดว้ ยคาํ สงั่ matrix() > ma <‒ c(1:8) > ma [1] 1 2 3 4 5 6 7 8 > matrix(ma, nrow =2,byrow =F) [,1] [,2] [,3] [,4] [1, ] 1 35 7 [2, ] 2 46 8 > matrix(ma, nrow =2) [,1] [,2] [,3] [,4] [1, ] 1 35 7 [2, ] 2 46 8 > matrix(ma, nrow =2,byrow =T) [,1] [,2] [,3] [,4] [1, ] 1 23 4 [2, ] 5 67 8 > matrix(ma, nrow =2,byrow =t) Error in matrix(ma, nrow=2, byrow = t) : invalid ‘byrow’ argument > matrix(ma, nrow =3,byrow =F) [,1] [,2] [,3] [1, ] 1 47 [2, ] 2 58 [3, ] 3 61 Warning message : In matrix(ma, nrow = 3, byrow = F) : Data length [8] is not a sub-multiple or multiple of the number of rows [3] ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถติ ิและคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

การจดั การขอ้ มลู – 21 – นอกจากน้ียงั สามารถเตรียมข้อมลู ในรปู เมตริกซ์ สมมติว่ามียอดผู้เสียชีวิตจากอุบัติเหตุ ดว้ ยยานพาหนะ 3 ชนดิ ใน 4 จังหวัด ในรอบเดอื นท่ผี ่านมา ขอ้ มลู อยใู่ นรปู ตารางดงั น้ี จังหวัด ยานพาหนะ รถยนต์ จกั รยานยนต์ จักรยาน กาฬสนิ ธ์ุ 58 254 12 ขอนแกน่ 62 316 22 ศรสี ะเกษ 43 242 16 อุบลราชธานี 86 320 19 เตรียมข้อมูลในรปู เมตรกิ ซ์ ดงั ตอ่ ไปนี้ > data1 <‒ c( 58,62,43,86,254,316,242,320,12,22,16,19) > accident.dat <‒ matrix(data1, 4) > accident.dat [,1] [,2] [,3] [1, ] 58 254 12 [2, ] 62 316 22 [3, ] 43 242 16 [4, ] 86 320 19 > dim(accident.dat) >4 3 > province<‒c(\"Kalasin\", \"Khonkaen\", \"Srisaket\", \"Ubonratchathani\") > vehicle <‒c(\"Automobile\", \"Motorcycle\", \"Bicycle\") > dimnames(accident.dat) NULL > dimnames(accident.dat) <‒ list(province) > accident.dat [,1] [,2] [,3] Kalasin 58 254 12 Khonkaen 62 316 22 Srisaket 43 242 16 Ubonratchathani 86 320 19 > dimnames(accident.dat) <‒ list(province, vehicle) > accident.dat Automobile Motorcycle Bicycle Kalasin 58 254 12 Khonkaen 62 316 22 Srisaket 43 242 16 Ubonratchathani 86 320 19 > accident.dat [,\"Motorcycle\"] Kalasin Khonkaen Srisaket Ubonratchathani 254 316 242 320 > accident.dat [\"Srisaket\", \"Motorcycle\"] [1] 242 > accident.dat [\"Srisaket\", ] Automobile Motorcycle Bicycle 43 242 16 > apply(accident.dat, 2, mean) Automobile Motorcycle Bicycle 62.25 283.00 17.25 > apply(accident.dat, 1, mean) Kalasin Khonkaen Srisaket Ubonratchathani 108.0000 133.3333 100.3333 141.6667 ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถติ ิและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

– 22 – การวเิ คราะหข์ อ้ มลู ทางสถิติ โดยใช้โปรแกรม R การดาเนินการเกีย่ วกบั ระบบเมตริกซ์ (Matrix operations) 3 0 2   1 5 3 ให้ A  5 4 1 , B  2 0 4 ใช้โปรแกรมในการคาํ นวณ A+B, A – B, AB 2 1 3   3 1 2 ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิติและคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

การจดั การขอ้ มลู – 23 – ในกรณีการใชเ้ มตรกิ ซช์ ่วยในการแก้สมการ เชน่ มีระบบสมการ ดังนี้ X1 + 2X2 – X3 = 1 2X1 – X2 + X3 = 3 –X1 + 2X2 + 3X3 = 7 ให้ 1 ,2 1  X1  1     A   2 1 1  X   X 2  และ B  3 1 2 3   X3  7 3.2.4 อะเรย์ (Arrays) สามารถสร้างออบเจ็คตใ์ นรปู อะเรย์(Arrays) ซ่งึ ข้อมูลนีม้ ีลักษณะคลา้ ยเมตริกซ์ แตอ่ ะเรย์สามารถกาํ หนดมิตไิ ดม้ ากกว่าสองมิติ ดังนัน้ อะเรยส์ องมิติก็คือเมตริกซ์นน่ั เอง ดงั ตวั อยา่ งต่อไปนเ้ี ปน็ อะเรยส์ ามมติ ทิ มี่ ีขนาด 2x2x2 > cube <‒ 1:8 > dim(cube) <‒ c(2,2,2) > dim(cube) [1] 2 2 2 > cube ,,1 [,1] [,2] [1, ] 1 3 [2, ] 2 4 ,,2 [,1] [,2] [1, ] 5 7 [2, ] 6 8 ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิตแิ ละคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลยั อบุ ลราชธานี

– 24 – การวิเคราะห์ข้อมูลทางสถติ ิ โดยใช้โปรแกรม R 3.2.5 ลิสต์ (List) สามารถสร้างออบเจ็คต์ในรูปลิสต์(List) ซึ่งสามารถกําหนดช่ือของสมาชิกใน ลสิ ตไ์ ด้ จงึ อาจกลา่ วได้วา่ ลสิ ตม์ คี วามแตกต่างจากเวคเตอรใ์ นส่วนของสมาชิก > st.name <‒ c(\"Somsak\", \"Preera\", \"Korawit\", \"Panitaporn\") > st.score <‒ c(85, 55, 76, 86) > st.grade <‒ c(\"A\", \"C\", \"B\", \"A\") > data.list <‒ list(st.name, st.score, st.grade) > data.list [[1]] [1] \"Somsak\" \"Preera\" \"Korawit\" \"Panitaporn\" [[2]] [1] 85 55 76 86 [[3]] [1] \"A\" \"C\" \"B\" \"A\" 3.2.6 แฟคเตอร์ (Factor) แฟคเตอรเ์ ป็นออบเจ็คตท์ ่ีใชอ้ ธิบายลักษณะของข้อมลู โดยเฉพาะข้อมลู ที่อยใู่ น ระดับ ordinal scale และ nominal scale ซงึ่ สามารถกาํ หนดลกั ษณะของข้อมูลโดย ใชค้ ําสัง่ factor() > grade <‒ c(\"A\", \"A\", \"D\", \"B\", \"C+\", \"B\", \"D\", \"B+\", \"C\") > grade.factor <‒ factor(grade) > grade.factor [1] A A D B C+ B D B+ C Levels: A B B+ C C+ D 3.2.7 กรอบขอ้ มูล (Data Frame) กรอบข้อมลู เปน็ การจัดเกบ็ ข้อมูลท่หี นึ่งหนว่ ยข้อมลู (Unit) มรี ายละเอยี ดทจี่ ะ จัดเก็บหลากหลายประเภทข้อมลู ซึ่งจะใชห้ ลายตวั แปร โดยในแต่ละตัวแปรอาจมลี ักษณะ ต่างกัน เช่นอาจเปน็ ค่าเชิงจํานวน ตัวอกั ขระ เวคเตอร์ หรือเปน็ แฟคเตอร์ เป็นตน้ > data2.df <‒ data.frame(st.name, st.score, st.grade) > data2.df st.name st.score st.grade 1 Somsak 85 A 2 Preera 55 C 3 Korawit 76 B 4 Panitaporn 86 A ในการนําข้อมลู เข้าไวใ้ นโปรแกรม R นน้ั มหี ลากหลายวธิ ี การนาํ เขา้ ทเี่ ป็นพน้ื ฐาน มักจะเปน็ การป้อนข้อมลู โดยตรงทางคยี บ์ อรด์ โดยใชฟ้ ังก์ชัน c( ) หรอื scan( ) การ ใช้ฟังก์ชัน c( ) ซึ่งมคี วามหมายว่าการรวมเข้าด้วยกนั (combine) ของข้อมูล เช่น ต้องการนําข้อมูลเขา้ มีดังนี้ 5 8 10 6 4 5 11 13 9 สามารถใช้เครอื่ งหมาย = หรอื ใชเ้ ครอื่ งหมาย <‒ ดงั นี้ ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถิตแิ ละคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

การจัดการข้อมลู – 25 – > data = c(5,8,10,6,4,5,11,13,9) > data [1] 5 8 10 6 4 5 11 13 9 > หรอื อาจใชเ้ ครือ่ งหมาย <‒ > data <‒ c(5,8,10,6,4,5,11,13,9) > data [1] 5 8 10 6 4 5 11 13 9 > อธิบายตามท่ปี รากฏบนจอในการนําข้อมูล เม่ือใชโ้ ปรแกรม R 1. ในบรรทัดแรกกาํ หนดตัวแปร เชน่ ช่ือ data และเก็บค่าทางขวามือของเคร่ืองหมาย = หรอื <‒ 2. สามารถใชเ้ ครื่อง <‒ หรอื เคร่ืองหมาย = 3. ในบรรทัดทส่ี องเมื่อพมิ พ์ช่อื ตัวแปร data จะปรากฏค่าท่เี ก็บไว้ในตัวแปร data 4. ในบรรทดั ทสี่ ามปรากฏ [1] ซ่งึ แสดงถึงคา่ ตวั แรกของชดุ ข้อมลู แต่ถ้ามีขอ้ มลู หลาย ค่าและเรยี งต่อไปในบรรทดั ถัดไป กจ็ ะปรากฏอนั ดับที่ของขอ้ มลู ไปเรื่อยๆ การใช้ฟังก์ชนั scan( ) จะรับขอ้ มูลจากการป้อนเข้าทลี ะค่าเม่ือจบข้อมลู ใหก้ ด Enter ระบบจะบันทึกข้อมลู เขียนคําส่งั ดงั นี้ > data1 <‒ scan( ) 1: 9 2: 7 3: 3 4: 11 5: 15 6: (กดแป้น Enter) Read 5 items > 3.3 การอ่านข้อมูลจากไฟล์รูปแบบต่างๆ 3.3.1 การอ่านขอ้ มูลจากแฟ้มแบบ ASCII ข้อมลู ท่เี กบ็ บนั ทึกในรูป ASCII จะอ่านข้อมลู เข้าสู่ระบบของโปรแกรม โดยใชค้ ําสั่งดังน้ี > data1<‒ read.table(\"example.dat\", header = T) > attach(data1) > data1 นอกจากน้ียังสามารถใชค้ ําสัง่ scan( ) อ่านแฟ้มขอ้ มูลท่ีเป็น ASCII ไดด้ งั น้ี > data1<‒ scan(\"example.dat\") > attach(data1) > data1 3.3.2 การอ่านขอ้ มูลจากแฟ้มแบบ MS Excel ขอ้ มลู ที่เกบ็ บนั ทึกในรูป MS Excel โดยบันทึกข้อมลู ดังน้ี เลือกFile ▶ Save As… ▶ Save as type เปน็ ชนิด CSV ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถติ ิและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

– 26 – การวเิ คราะห์ขอ้ มูลทางสถิติ โดยใช้โปรแกรม R สามารถเปิดแฟ้มใน R โดยใชค้ ําสั่งดังน้ี > data2 <‒ read.csv(\"houseprice.csv\", header = T) > attach(data2) > data2 3.3.3 การอ่านข้อมูลจากแฟ้มทีบ่ ันทกึ ใน SPSS for windows การอา่ นข้อมลู ทสี่ รา้ งและบันทึกดว้ ยโปรแกรม SPSS for windows ซง่ึ มสี ว่ นขยาย เปน็ .sav จะใชค้ าํ สัง่ read.spss() ซึ่งอยู่ในแพคเกจ foreign โดยมรี ปู แบบคําสั่งดังน้ี read.spss(\"filename.sav\",use.value.lables = T, to.data.frame = F) เช่นการอา่ นข้อมูลจากแฟ้มข้อมูลชอื่ anxiety.sav ท่บี นั ทึกดว้ ย SPSS for windows แล้ว ประมวลผลดว้ ยโปรแกรม R ดงั น้ี > spss.data<‒read.spss(\"anxiety.sav\"),use.value.labels=T, + to.data.frame = T) > spss.data subject anxiety tension score trial 1 11 1 18 1 2 11 1 14 2 3 11 1 12 3 : :: :: : 46 12 2 2 12 2 47 12 2 2 83 48 12 2 2 84 > mean(spss.data) subject anxiety tension score trial 6.5 1.5 1.5 10.0 2.5 3.3.4 การอ่านขอ้ มูลจากแฟ้มใน Library การตรวจรายชอื่ library ในหน่วยความจํา จะเขียนคําสั่งไดด้ ังน้ี > library( ) จะแสดงรายชือ่ แพคเกจใน library ดงั น้ี ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถิติและคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

การจดั การขอ้ มลู – 27 – และสามารถตรวจรายช่ือแฟ้มขอ้ มลู ด้วยคาํ สั่ง > data( ) จะปรากฏรายชอ่ื ชดุ ขอ้ มลู ในระบบ ณ ขณะนั้น ดงั นี้ การอา่ นข้อมลู เขา้ สู่โปรแกรม R ทาํ ได้ดงั นี้ > attach(BOD) > names(BOD) [1] \"Time\" \"demand\" > BOD Time demand 1 1 8.3 2 2 10.3 3 1 19.0 4 4 16.0 5 5 15.6 6 6 19.8 การแก้ไขข้อมูล > data<‒c(12,58,21,55,18) > newdata<‒ edit(data) จะปรากฏ Windows ให้แก้ไขขอ้ มูล ผลการแกไ้ ขจะบันทึกไว้ในระบบภายใตข้ ่ือ newdata ทาํ การแกไ้ ขข้อมูลตามทต่ี ้องการ สมมติจะแกเ้ ป็นเลข 20 > newdata [1] 12 58 21 55 20 ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถิตแิ ละคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

– 28 – การวเิ คราะห์ข้อมลู ทางสถติ ิ โดยใช้โปรแกรม R นอกจากนีย้ ังสามารถแก้ไขข้อมลู ได้อีกวธิ ีหนง่ึ โดยใช้คําส่ัง data.entry() ไดด้ งั นี้ > data.entry(newdata) > newdata [1] 12 58 21 55 20 46 39 > คําส่งั เกย่ี วกบั การจัดการข้อมูล > newdata [1] 222 3 2 5 4 0 7 > which(newdata==2) # ลําดบั ตาํ แหน่งข้อมลู [1] 3 > which(newdata !=2) 7 # ลําดบั ตาํ แหน่งขอ้ มลู [1] 1 2 4 5 6 > which(newdata > 2) # ลาํ ดับตําแหน่งขอ้ มลู [1] 1 2 4 5 7 > which(newdata < 2) [1] 6 > length(newdata) [1] 7 > newdata[2] [1] 3 > newdata[–2] [1] 222 2 5 4 0 7 > newdata[1:4] [1] 222 3 2 5 > newdata[length(newdata)–4] [1] 2 > newdata[length(newdata)–4:length(newdata)] [1] 2 3 222 > newdata[length(newdata)–5:length(newdata)] [1] 3 222 > newdata[c(1,3,5)] [1] 222 2 4 > newdata[newdata > 4 | newdata < 2] [1] 222 5 0 7 > newdata [1] 222 3 2 5 4 0 7 > max(newdata) [1] 222 > min(newdata) [1] 0 ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถิติและคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

การจดั การขอ้ มูล – 29 – 3.4 การจดั การข้อมูลด้วย Rcmdr การจัดการขอ้ มลู อาจป้อนข้อมูลลงบน worksheet หรือเปดิ แฟม้ จากแหลง่ อื่น หลังจากตั้งชือ่ แล้วจะปรากฏหน้าต่างเพื่อป้อนข้อมลู นอกจากนีย้ ังสามารถ import ข้อมลู จากแหลง่ อ่นื โดยใช้ Rcmdr menu Data ▶ Inport data ▶ from…. จะปรากฏหน้าตา่ งดังรูป ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถิตแิ ละคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลยั อบุ ลราชธานี

– 30 – การวเิ คราะห์ข้อมลู ทางสถิติ โดยใชโ้ ปรแกรม R การดึงข้อมลู จากแพคเกจ การเลอื กชุดข้อมลู เข้าสู่โปรแกรม R โดยใช้ Rcmdr menu Data ▶ Active data set ▶ Select active data set … โปรแกรมจะปรากฏหนา้ ต่างดังรูป ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถิติและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

การจดั การขอ้ มูล – 31 – 3.5 การแปลงข้อมูล เม่อื ต้องการแก้ไขหรือเปลยี่ นแปลง ซ่ึงแบ่งเปน็ หลายกรณี ในกรณีเปลย่ี นแปลงเล็กนอ้ ย อาจจะทาํ ได้โดยใช้ฟังก์ชนั fix( ) เชน่ fix(person) จะปรากฏหนา้ ตา่ งขา้ งลา่ งน้ี สามารถแก้ไข ขอ้ มลู ท่ีตอ้ งการไดท้ ันที ในกรณีทต่ี อ้ งการแปลงคา่ ของตวั แปรพร้อมกันภายใต้เง่ือนไขบางประการนัน้ สามารถใช้ ฟังก์ชนั recode( ) ซง่ึ จะพจิ ารณาการเปล่ยี นเพียงค่าเดียว หลายค่า และเปลยี่ นในรูปช่วงข้อมูล กรณีการแปลงข้อมูลเพียงค่าเดยี ว > attach(person) > newsex <‒ recode(sex, ‘ \"M\" = 1’) > newsex [1] F 1 F 1 1 1 1 Levels: 1 F > detach(person) กรณกี ารแปลงข้อมลู หลายค่า > x <‒ seq(1:10) >x [1] 1 2 3 4 5 6 7 8 9 10 > newx <‒recode(x, \"1:5 =0\") > newx [1] 0 0 0 0 0 6 7 8 9 10 กรณีการแปลงข้อมลู ในรูปชว่ ง > attach(person) > newsalary <‒ recode(salary, \"lo:15000 = 1; 15001:20000 = 2; 20001:hi = 3\") > newsalary [1] 1 2 1 1 3 1 1 > detach(person) กรณกี ารสร้างตัวแปรใหม่ สามารถ ในกรณที ่ตี อ้ งการปรับค่าตัวแปร เช่นมกี ารเปลีย่ นแปลงรายไดจ้ ากเดมิ 5% หรอื ใช้ คํานวณคา่ ตัวแปรใหม่ โดยใช้การเขยี นแสดงการคํานวณที่ command prompt Rcmdr Data ▶ Manage variables in active ▶ Compute new variables… ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณิตศาสตร์ สถิตแิ ละคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

– 32 – การวิเคราะหข์ ้อมูลทางสถิติ โดยใชโ้ ปรแกรม R ซง่ึ จะได้ตัวแปรใหม่เพ่ิมเข้าไปในชดุ ข้อมลู person หรอื อาจจะใชฟ้ งั ก์ชนั > attach(person) > newsalary <‒ 1.05 * salary > newsalary [1] 12600 21000 147000 15750 26250 13650 15750 > detach(person) การเลือกข้อมูลบางสว่ น ในการวเิ คราะหข์ ้อมลู บางคร้งั หากต้องการข้อมูลเพยี งบางส่วนเพอื่ ใชก้ ารวิเคราะห์ เช่นต้องการเฉพาะกลุ่มเพศชาย ท่มี รี ายไดต้ ้ังแต่ 20000 บาทตอ่ เดือน > Msalary <‒ subset(person, subset=salary>=20000 & sex ==\"M\") > length(Msalary) [1] 2 5 > detach(person) ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถติ ิและคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

การจัดการข้อมูล – 33 – ในการใช้เคร่ืองหมายแทนตรรกะ นน้ั ตอ้ งใชเ้ ครื่องหมายต่อไปน้ี < แทน นอ้ ยกว่า >= แทน มากกวา่ หรอื เท่ากับ == แทน เท่ากบั != แทน ไมเ่ ทา่ กบั & แทน และ | แทน หรือ ข้อมลู สญู หาย ในกรณีที่ข้อมลู สญู หาย หรือผู้ใหข้ อ้ มลู ไม่ครบ ในระบบ R จะใช้ NA แทนคา่ ข้อมูลสูญหาย ดงั น้นั ในการคํานวณหรอื ประมวลผลจะตอ้ งกําหนดให้นาํ ค่า NA ออกจากการคํานวณ 3.6 การบนั ทึกผลลพั ธ์จากการประมวลผลบน R กอ่ นการทาํ งานควรกาํ หนดทีท่ าํ งานเพ่ือใชเ้ ก็บขอ้ มูลต่างๆ เป็น working directory โดย ใช้คําสัง่ จากเมนู ดังนี้ File ▶ Change dir… ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิติและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

– 34 – การวิเคราะหข์ ้อมูลทางสถติ ิ โดยใชโ้ ปรแกรม R แลว้ เลอื กไดเรกตอรีที่ต้องการ หรอื ต้งั ชื่อใหม่โดยคล๊ิกท่ี Make New Folder เช่นต้งั ช่ือโฟลเดอร์ Rwork ในการบนั ทึกผลลพั ธ์จากการประมวลผลบน R ซงึ่ กระทําในลักษณะท่ี แตกต่างกนั และตามวตั ถุประสงคด์ งั นี้ Save Workspace… Save History… Save to File… เปน็ การบันทึกออบเจ็คต์ท่ีเกิด เป็นการบนั ทึกคําสง่ั ที่ใช้ใน เปน็ การบันทึกผลลัพธ์จาก จากประมวลผลและเมอื่ บันทึก ไวจ้ ะเก็บในรูปแฟ้มระบบ เม่ือ การประมวล สามารถ การประมวลผลในรูป text ตอ้ งการเรียกใช้ ต้องใช้คาํ ส่ัง Load Workspace.. มีผลทํา เรียกใช้ โดยคําสั่ง Load file สามารถเรียกใช้ โดยการ ให้ออบเจ็คต์ท่ีเก็บไว้ ถูกดงึ เข้า History… แตจ่ ะไมป่ รากฏ เปิดแฟ้มในลักษณะของ บน command session word processing การเรียกคําสั่งทําได้โดยการ มาในระบบ ตรวจสอบออบ- เลื่อนลูกศรขึน้ ลง เจ็คต์ โดยใชค้ ําสั่ง ls() การบนั ทึกผลดังกลา่ วน้ีสามารถใชเ้ มนูดงั รปู ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณติ ศาสตร์ สถิติและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

การจัดการข้อมูล – 35 – 3.7 การวางแผนจดั ทาแฟ้ มข้อมูล ขอ้ มลู ดบิ ทีเ่ ก็บรวบรวมไดจ้ ากกลมุ่ ตัวอยา่ ง จะต้องนํามาจัดทําให้อยู่ในรูปแบบของแฟ้ม ขอ้ มลู เพอื่ เตรยี มการสําหรบั การวิเคราะห์ค่าสถิติดว้ ยโปรแกรมคอมพิวเตอร์ ผวู้ ิจัยจะต้อง วางแผนเบือ้ งตน้ และจดั สรา้ งแฟม้ ข้อมลู มีแนวทางและข้ันตอนดังตัวอย่างดงั น้ี ตารางที่ 1. การวางแผนจัดเตรียมข้อมูลดบิ ใหเ้ ป็นแฟม้ ข้อมูล การวางแผนเบ้ืองต้น ขอ้ มลู จากแบบสอบถาม สําหรับจดั เตรียมแฟ้มข้อมูล NAME Width, Missing Decimal ID ตอนที่ 1. สถานภาพผตู้ อบ SEX C50 None ① รหัสผูต้ อบหรือรหสั แบบสอบถาม PROG N50 ② เพศ □ 1.ชาย □ 2. หญงิ GPA N50 9 ③ โปรแกรมการเรียน □ 1.วทิ ย์ □ 2. ศิลป์–คาํ นวณ □ 3.ศลิ ป์ N82 9 ④ จบ ม.ปลายได้เกรดเฉลย่ี สะสม....(ทศนิยม 2 ตําแหน่ง) PRE 9.99 ตอนท่ี 2. คะแนนสอบก่อนเรียนวชิ าสถติ ิและหลังเรยี นจบ POST ⑤ คะแนนสอบกอ่ นเรียน.........(คะแนนเต็ม 50 คะแนน) N50 9 ⑥ คะแนนสอบหลงั เรยี น..........(คะแนนเตม็ 50 คะแนน) ATT1 N50 9 ตอนที่ 3. การวดั เจตคตติ อ่ คณิตศาสตร์ ATT2 ⑦ (ขอ้ ที่ 1) ฉนั คดิ วา่ คณติ ศาสตร์เป็นสง่ิ ที่ทกุ คนต้องเรยี นรู้ ATT3 N50 9 ⑧ (ข้อท่ี 2) บ่อยคร้งั ทฉี่ นั ต้งั ใจเรียนคณติ ศาสตร์ แตท่ าํ ไดไ้ ม่นาน N50 9 ATT4 กร็ สู้ กึ เบอ่ื N50 9 ⑨ (ขอ้ ท่ี 3) คณติ ศาสตร์เป็นวิชาพนื้ ฐานสําคัญสาํ หรับความก้าวหนา้ ATT5 N50 9 ในวิชาชพี N50 9 ⑩ (ข้อที่ 4) ฉนั รู้สึกไม่มน่ั ใจในการคิดคํานวณ เพราะเปน็ สิง่ ท่ยี ่งุ ยาก และซบั ซอ้ น ⑾ (ขอ้ ที่ 5) ฉนั คดิ วา่ คณติ ศาสตรม์ คี วามจาํ เป็นต่อชวี ิตประจําวัน หมายเหตุ สเกลท่ีใช้ในการวัดเจตคติ เป็นดงั นี้ 1 = ไม่เหน็ ด้วยอย่างย่ิง 2 = ไม่เห็นดว้ ย 3 = ไมแ่ นใ่ จ (เฉยๆ) 4 = เหน็ ดว้ ย 5 = เหน็ ดว้ ยอยา่ งย่งิ ผใู้ ช้โปรแกรมจะต้องออกแบบแฟม้ ข้อมูล ใหส้ อดคล้องกับธรรมชาติของตัวแปรแต่ละ ตวั โดยมชี ่อื ตวั แปร (Variable Name) ลักษณะชนิดขอ้ มลู ของแตล่ ะตัวแปร โดยมขี ้อมูล ตวั อักษร(Character :C) ขอ้ มลู เปน็ ตวั เลข (Numeric :N) และต้องกาํ หนดค่าหรอื รหสั ของ ข้อมูลสูญหาย หรอื ผู้ให้ข้อมูลไม่ครบ ซง่ึ สว่ นมากจะให้รหสั เป็น 9 (หรอื NA) แตต่ อ้ งระวงั หาก ข้อมลู ในตัวแปรนัน้ มคี ่าเป็น 9 ได้ ให้ผู้ออกแบบขอ้ มลู ไปใช้เลขอน่ื แทนคา่ ทส่ี ูญหาย ผู้ออกแบบ บางคนอาจจะใช้ว่าง (Null) แทนข้อมูลท่ีสูญหายก็ได้ แตข่ อ้ ควรระวงั คือในกรณีทีผ่ ู้ป้อนข้อมลู เข้าโปรแกรมอาจเผลอไม่ไดป้ ้อนข้อมูลตัวแปรน้นั ไป ซง่ึ ก็จะมคี วามหมายเชน่ เดยี วกบั ข้อมูลหาย ขอ้ ดีของการใชเ้ ลข 9 หรอื NA แทนข้อมลู ท่ีสูญหายน้ันก็เปน็ การยนื ยนั ว่าข้อมลู หายจริงๆ ไม่ได้ ลืมป้อนข้อมูลเหมือนว่าง (Null) ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถิตแิ ละคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

– 36 – การวเิ คราะห์ขอ้ มูลทางสถติ ิ โดยใชโ้ ปรแกรม R ตารางท่ี 2. ตวั อย่างแฟม้ ข้อมูลตามตวั แปรและลักษณะตัวแปรทก่ี ําหนดไว้ Variables Name ID SEX PROG GPA PRE POST ATT1 ATT2 ATT3 ATT4 ATT5 01 1 1 3.00 15 48 4 3 5 4 4 02 2 2 2.50 7 30 2 1 2 1 1 03 1 1 2.60 10 40 4 3 4 3 3 04 1 2 2.55 8 35 2 3 1 4 2 05 2 3 2.90 7 28 1 4 5 4 4 06 2 3 2.80 5 25 2 3 2 4 1 07 9 1 2.85 12 41 3 4 5 5 4 Records 08 1 3 2.40 99 29 2 4 2 3 1 (cases) 09 2 2 2.40 10 26 2 5 3 5 2 10 2 1 2.70 10 38 5 4 3 3 5 11 2 1 3.30 11 45 4 3 4 2 4 12 1 2 3.10 10 35 4 3 4 3 4 13 1 3 3.00 9 39 5 3 3 2 3 14 2 2 2.75 12 35 5 2 3 2 5 15 1 1 3.20 13 44 3 1 3 1 5 16 2 3 2.30 8 30 1 4 5 5 5 17 1 1 3.50 17 47 5 2 4 1 5 18 1 9 2.20 7 99 3 3 3 3 3 19 2 3 2.40 5 27 1 4 3 4 2 20 2 2 2.65 8 32 3 2 5 2 3 ในการนําข้อมูลเข้าสู่โปรแกรม R ทําไดห้ ลายรปู แบบ แต่ในตวั อยา่ งน้ี จะใชก้ ารป้อนข้อมลู ด้วย โปรแกรม Excel ดงั นี้ ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถติ แิ ละคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

การจัดการข้อมูล – 37 – เม่อื ปอ้ นขอ้ มูลครบถ้วนเรยี บรอ้ ยแลว้ โดยบรรทดั แรกให้ใส่ช่ือตวั แปรท้ังหมด แลว้ บรรทดั ที่สองไปกจ็ ะเป็นข้อมูลซงึ่ ป้อนใหต้ รงตามตัวแปร ซง่ึ เมื่อปอ้ นข้อมลู จนครบทกุ รายการแล้ว จะ เก็บข้อมลู โดยใหม้ รี ูปแบบเปน็ .csv (มนี ามสกลุ เปน็ csv) โดยจะเลอื กการจดั เก็บบันทึกเปน็ ตามหนา้ จอจะปรากฏดังนี้ ให้เลือกบันทึกเป็นชนิด csv ตามต้องการ การจัดเก็บลักษณะนี้คือเป็นการจัดเก็บโดยจะใช้ คอมมา่ คั่นระหว่างขอ้ มลู แต่ละตวั แปร ซง่ึ เมือ่ ตอ้ งการนาํ ข้อมูลทจ่ี ัดเก็บในรูปแบบ .csv โดยมรี ูปแบบการค่ันแต่ละข้อมูลของ แตล่ ะตวั แปรดว้ ยคอมม่า โดยจะใช้คาํ ส่งั read.csv ตามรปู แบบท่แี สดงบนหนา้ จอด้านล่าง ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิตแิ ละคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลยั อบุ ลราชธานี

– 38 – การวเิ คราะหข์ อ้ มูลทางสถติ ิ โดยใชโ้ ปรแกรม R ตอ้ งการแก้ไขขอ้ มูลสูญหาย (Missing value) จากเลข 99 เปน็ NA โดยใชค้ าํ ส่ัง > fix(data1) สมมตติ ้องการวิเคราะห์คา่ สถิติพน้ื ฐาน เช่น ค่าเฉลย่ี ค่ามธั ยฐาน ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถติ แิ ละคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

การจัดการข้อมูล – 39 – หากต้องการใหแ้ สดงกราฟแท่ง โดยอาจใชค้ ําส่ังดงั นี้ > barplot(table(PROG,PRE), main = \"Table (PROG, PRE)\",beside = TRUE) > ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถติ ิและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

– 40 – การวิเคราะห์ข้อมลู ทางสถิติ โดยใชโ้ ปรแกรม R ในกรณที ี่ตอ้ งการสรา้ งตวั แปรใหมท่ ี่ไดโ้ ดยคาํ นวณข้อมูลจากขอ้ มลู ท่มี ีอยแู่ ล้ว สามารถทาํ ไดโ้ ดยการตงั้ ตัวแปรใหมแ่ ละคาํ นวณจากตัวแปรใดบา้ ง เชน่ ตอ้ งการต้ังตัวแปรเป็น sumATT ซึ่งได้จากการรวมของ ตวั แปร ATT1, ATT2, ATT3, ATT4, ATT5 หรอื การรวมคะแนนจากการสอบก่อนเรียน (PRE) และ คะแนนทดสอบหลังเรยี น (POST) ทําได้ดงั นี้ เม่ือเรยี กใชฟ้ งั กช์ ัน fix(data1) จะเห็นไดว้ า่ ขอ้ มลู ไม่ได้เพิ่มใน list ของฐานข้อมูลใน data1 เลย ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถติ แิ ละคอมพวิ เตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

การนาเสนอขอ้ มลู 4 (Data representations) 4.1 การนาเสนอข้อมูลในรูปตาราง โปรแกรมสาํ เร็จรูป R มคี วามสามารถท้ังการประมวลผลและการวเิ คราะห์ข้อมูลเชงิ สถิติ อีกทั้งยังสามารถแสดงผลทางกราฟิกได้อยา่ งมปี ระสิทธภิ าพ ตัวอยา่ งในการสรา้ งตารางแจกแจงสําหรับข้อมลู ในรูปความถี่ > sex = c(\"F\",\"F\",\"M\",\"M\",\"F\",\"M\",\"F\",\"F\",\"F\",\"M\") > sex [1] \"F\" \"F\" \"M\" \"M\" \"F\" \"M\" \"F\" \"F\" \"F\" \"M\" > table(sex) sex FM 64 > ตัวอยา่ งในการสร้างตารางสองทางสําหรับขอ้ มูลในรูปความถี่ > age = c(2,3,3,2,2,3,2,3,1,3) > table(sex,age) age sex 1 2 3 F 132 M 013 นอกจากนย้ี ังสามารถปรบั เปลี่ยนรูปแบบในการนําเสนอ ในรปู สดั ส่วนหรือร้อยละ > tsa = table(sex,age) # store table # store the number of digits > old.digits = options(\"digits\") # only print 3 decimal place # the row sum to 1 > options(digits = 3) # the column sum to 1 > prop.table(tsa,1) # all the numbers sum to 1 age # restore the number of digits sex 1 23 F 0.167 0.500 0.333 M 0.000 0.250 0.750 > prop.table(tsa,2) age sex 1 23 F 1.000 0.750 0.400 M 0.000 0.250 0.600 > prop.table(tsa) age sex 1 23 F 0.100 0.300 0.200 M 0.000 0.100 0.300 > options(digits = old.digits) ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิตแิ ละคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

– 42 – การวิเคราะหข์ ้อมลู ทางสถิติ โดยใช้โปรแกรม R 4.2 การนาเสนอข้อมูลในรูปกราฟ กราฟแทง่ กราฟแทง่ ใช้เพ่อื แสดงจํานวนความถขี่ องแต่ละข้อมลู รปู แบบของฟังกช์ นั barplot( ) ขอ้ มลู ตอ้ งอยู่ในรปู เวคเตอรห์ รือเมตริกซ์ หรอื สร้างด้วยฟังก์ชนั table( ) > barplot(table(sex,age)) > barplot(table(age,sex)) > sex = factor(sex) # for sex > barplot(table(age,sex), + beside = TRUE, # put beside not stacked + legend.text = T) # add legend > barplot(table(age,sex), main = \" table (age, sex) \", + beside = TRUE, + legend.text = c(\"less than 5\",\"5 – 10\", \"more than 10\")) ผศ.ดร.บรรทม สรุ ะพร ภาควชิ าคณติ ศาสตร์ สถิติและคอมพิวเตอร์ คณะวทิ ยาศาสตร์ มหาวิทยาลัยอบุ ลราชธานี

การนาเสนอขอ้ มูล – 43 – นอกจากน้ยี งั สามารถพิจารณาในรปู สัดสว่ นตามแถวและคอลมั น์ > x = table(sex,age) > prob = function(x)/sum(x) โดยใช้คําสงั่ apply() โดยท่ี index = 2 หมายถึงคอลมั น์ > apply(x,2,prob) age sex 1 23 F 1.000 0.750 0.400 M 0.000 0.250 0.600 index = 1 หมายถงึ แถว และ t( ) เป็นการ transpose เมตรกิ ซ์ > t(apply(x,1,prob)) age sex 1 23 F 0.167 0.500 0.333 M 0.000 0.250 0.750 ตวั อย่าง ต้องการแสดงกราฟแท่ง เกรดของนักศึกษาวิชาสถิตเิ บ้ืองตน้ ซง่ึ มเี กรด ดังน้ี A, A, B, B, B, B, C > grade <– c(\"A\",\"A\",\"B\",\"B\",\"B\",\"B\",\"C\") > t <– table(grade) # เปน็ กราฟขาวดํา > barplot(t) > barplot(t, col = rainbow(3)) # เป็นกราฟสตี ่างๆ ถา้ ต้องการให้กราฟวางตามแนวนอน สามารถกําหนดด้วย horiz = T > barplot(t, col = rainbow(3), horiz = T) ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถติ ิและคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลัยอบุ ลราชธานี

– 44 – การวิเคราะห์ข้อมลู ทางสถิติ โดยใชโ้ ปรแกรม R กราฟวงกลม กราฟวงกลมแสดงจาํ นวนและแปลงค่าเปน็ เปอร์เซนต์ของแตล่ ะข้อมลู รูปแบบของฟังก์ชนั pie( ) ตัวอย่าง แสดงจาํ นวนลกู ค้าท่ีใชม้ ือถอื ยห่ี ้อตา่ งๆ > brand <– c(\"Hatch\",\"Nokai\",\"Samsang\",\"iMobine\",\"Ericsun\") > customer <– c(20,40,10,16,25) > pie(customer, labels = brand, main = \"Mobile Phone Brands\") แสดงเปอร์เซนต์ดว้ ย > percentage <– round(customer/sum(customer)*100) > brand <– paste(brand,percentage) > brand <– paste(brand,\"%\",sep=\" \") ผศ.ดร.บรรทม สรุ ะพร ภาควิชาคณิตศาสตร์ สถิตแิ ละคอมพวิ เตอร์ คณะวิทยาศาสตร์ มหาวทิ ยาลยั อบุ ลราชธานี


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook