สิวะโชติ ศรีสุทธิยากร
สาขาวิชา สถิติการศึกษา คณะครุศาสตร์
จุฬาลงกรณ์มหาวิทยาลัย
20 July 2018

วัตถุประสงค์เชิงพฤติกรรม


  1. อธิบายความสามารถของโปรแกรม R ในการทำงานทางด้านสถิติได้
  2. ดาวน์โหลดและติดตั้งโปรแกรม R ในเครื่องคอมพิวเตอร์ของตนเองได้
  3. อธิบายสภาพแวดล้อมของโปรแกรม R ได้
  4. ระบุหน้าที่ของหน้่าต่าง R Console, Editor และ Graphics ได้
  5. ใช้โปรแกรม R เพื่อหาผลลัพธ์ทางคณิตศาสตร์พื้นฐานได้
  6. สามารถสร้างและบันทึก R Script ผ่าน Editor ได้

Why’s R?


ปัจจุบัน R เป็นโปรแกรมทางสถิติที่ได้รับความนิยมเป็นอย่างสูงโดยเฉพาะในวงการนักสถิติ (statistician) นักวิเคราะห์ข้อมูล (data analyst) และนักวิทยาศาสตร์ข้อมูล (data scientist) จากการสำรวจปี ค.ศ. 2014 พบว่ามีผู้ใช้งานโปรแกรม R ทั่วโลกมากกว่า 2 ล้านคน และจากการจัดอันดับโปรแกรมภาษาที่ได้รับความนิยมมากที่สุดในปี 2017 โดยนิตยสาร IEEE spectrum พบว่า R เป็นโปรแกรมภาษาที่ได้รับความนิยมเป็นอันดับที่ 6 จากทั้งหมด 42 อันดับ และได้คะแนนการจัดอันดับคิดเป็นร้อยละ 88.1 ซึ่งสูงกว่าโปรแกรมทางสถิติและคณิตศาสตร์ชั้นนำหลายโปรแกรม เช่น SAS, Tableau, MATLAB, SPSS, Stata, Minitab และ JMP เป็นต้น นอกจากนี้จากการสำรวจความต้องการในสายงานนักวิทยาการข้อมูล โดยเวปไซด์ http://r4stats.com/2017/02/28/r-passes-sas/ พบว่าทักษะการใช้โปรแกรม R เป็นทักษะที่มีความต้องการเป็นอันดับที่ 5 คิดเป็นตำแหน่งงานมากกว่า 8,000 ตำแหน่ง

รูป 4 ผลการจัดอันดับโปรแกรมภาษาโดย IEEE Spectrum 2017




What’s R?



R เป็นโปรแกรมภาษาคอมพิวเตอร์ที่ถูกพัฒนาขึ้นสำหรับใช้งานทางด้านสถิติสมัยใหม่ และได้รับความนิยมอย่างสูงในปัจจุบันโดยเฉพาะในการทำงานด้านวิเคราะห์ข้อมูล (data analysis) และงานด้านวิทยาศาสตร์ข้อมูล (data science) ความสามารถหลักของโปรแกรม R อาจจำแนกได้เป็น 4 ด้าน ได้แก่ การนำเข้าข้อมูล การจัดกระทำข้อมูล การสำรวจและวิเคราะห์ข้อมูล และการรายงานผลการวิเคราะห์ รายละเอียดเป็นดังนี้

รูป 1 ความสามารถหลักของโปรแกรม R

การนำเข้าข้อมูลดิบ (Importing of Raw data)

โปรแกรม R มีความสามารถในการนำเข้าข้อมูลจากแหล่งต่าง ๆ ทั้งข้อมูลที่อยู่ในรูปแบบ Flat File, Excel File, Database, Website รวมทั้งไฟล์ข้อมูลจากโปรแกรมวิเคราะห์ข้อมูลทางสถิติต่าง เช่น SPSS, SAS, STATA และ MiniTab เป็นต้น ผู้เรียนจะได้ศึกษารายละเอียดของการนำไฟล์ข้อมูลประเภทต่าง ๆ จากหลายแหล่งเข้าสู่โปรแกรม R

รูป 2 ไฟล์ข้อมูลที่สามารถนำเข้าได้ใน R

การจัดกระทำข้อมูล (manipulating data)

นอกจากความสามารถในการนำเข้าไฟล์ข้อมูลที่หลากหลายแล้ว โปรแกรม R ยังมีความสามารถในการจัดกระทำข้อมูลเพื่อจัดระเบียบข้อมูลดิบที่นำเข้า และสร้างชุดข้อมูลใหม่ที่มีความพร้อมต่อการนำไปวิเคราะห์ข้อมูลตามวัตถุประสงค์การวิจัย โดยปกติการจัดกระทำข้อมูลสามารถจำแนกออกได้เป็น 3 กระบวนการย่อย ได้แก่ การสำรวจข้อมูลดิบ การจัดกระทำข้อมูล และการเตรียมชุดข้อมูลสำหรับการวิเคราะห์ตามวัตถุประสงค์การวิจัย รวมไปถึงการวิเคราะห์และทดแทนค่าสูญหาย (analysis and imputation of missing values) ที่อาจเกิดขึ้นจากการเก็บรวบรวมข้อมูลอีกด้วย

การสำรวจและวิเคราะห์ข้อมูล (explorating and analyzing data)

่โปรแกรม R เป็น Open Source โดยจดทะเบียนภายใต้ลิขสิทธิ์ของ GNU ที่ให้สิทธิ์่ผู้ใช้ในทุกระดับสามารถเข้าถึงชุดคำสั่ง รวมถึงสามารถดำเนินการปรับปรุง ดัดแปลง หรือ แก้ไข เพื่อใช้งานในวัตถุประสงค์ต่าง ๆ ได้ไม่ว่าจะเป็นในเชิงวิชาการ หรือเชิงพาณิชย์ ทำให้ปัจจุบันโปรแกรม R มี package สำหรับใช้ในงานวิเคราะห์ข้อมูลรวมถึงงานอื่น ๆ ที่เกี่ยวข้องเป็นจำนวนมากกว่า 10,000 packages และมีแนวโน้มเพิ่มขึ้นเรื่อย ๆ ในรอบ 10 ปีที่ผ่านมา ด้วยอัตราก้าวกระโดด (ค.ศ. 1998-2018)

รูป 3 จำนวน package สำหรับโปรแกรม R ที่ upload อยู่บน server CRAN


ในปัจจุบัน R จึงเป็นโปรแกรมที่มีขีดความสามารถในการวิเคราะห์ข้อมูลที่สูงและมีขอบเขตการทำงานที่กว้างขวาง รองรับการวิเคราะห์ข้อมูลด้วยโมเดลทางสถิติที่หลากหลาย ตั้งแต่สถิติพื้นฐาน ไปจนถึงสถิติขั้นสูง เทียบเท่า (หรืออาจมากกว่า) การใช้โปรแกรมวิเคราะห์ข้อมูลทางสถิติชั้นนำอื่น ๆ เช่น SPSS, SAS, Minitab, AMOS, LISREL, หรือ HLM เป็นต้น

การรายงานผลการวิเคราะห์ (reporing the results)

ความสามารถด้านนี้อาจจำแนกได้เป็นสองส่วน

  • ส่วนแรก คือ ความสามารถในการสร้างทัศนภาพข้อมูล (visualizing data) ที่สามารถสร้างแผนภูมิหรือกราฟเพื่อนำเสนอข้อมูลได้อย่างหลากหลาย ปรับแต่งตามความต้องการของผู้วิเคราะห์ข้อมูลได้อย่างสะดวก สามารถสร้างทัศนภาพข้อมูลได้อย่างสวยงาม และเป็นมืออาชีพ โดยสามารถสร้างได้ทั้ง ทัศนภาพข้อมูลเชิงสถิต (static data visualization) ดังตัวอย่างในรูป 4

รูป 4 ตัวอย่างแผนภาพที่สร้างจาก R

และ ทัศนภาพข้อมูลเชิงปฏิสัมพันธ์ (interactive data visualization) ที่สามารถปรับเปลี่ยนการนำเสนอข้อมูลได้ตามความต้องการของผู้ใช้ข้อมูลที่การนำเสนอในรูปแบบกระดาษปกติไม่สามารถนำเสนอได้ ดังตัวอย่างในรูป 5

รูป 5 ตัวอย่างทัศนภาพเชิงปฏิสัมพันธ์ที่สร้างจาก R
  • ส่วนที่สองคือความสามารถการสร้างรายงาน (report) ในหลากหลายรูปแบบทั้งในรูปแบบของ webpage, pdf document, word document และ presentation slide เป็นต้น ผ่านทาง package R Markdown ทำให้การสร้างและเผยแพร่ผลการวิเคราะห์สามารถทำได้โดยง่ายและไม่มีข้อจำกัด
รูป 6 ตัวอย่างรายงานผลการวิเคราะห์ข้อมูลที่สร้างจาก R Markdown และเผยแพร่ในรูปแบบ HTML


รูป 7 ตัวอย่าง Dashboard สำหรับกำกับติดตามการดำเนินงานของโครงการ



Download & Install R


รูป 5 Ross Inhaka และ Robert Gentleman


R (base distribution) เป็นโปรแกรมที่ริเริ่มพัฒนาโดยนักสถิติสองท่านได้แก่ Ross Inhaka และ Robert Gentleman จาก University of Auckland ประเทศนิวซีแลนด์โดยพัฒนาต่อยอดมาจากภาษา S และ S+ และได้เผยแพร่ภายใต้สัญญาอนุญาตสาธารณะทั่วไปของกนู (GNU General Public License) ตั้งแต่ปี ค.ศ. 1997 ทำให้โปรแกรม R มีลักษณะเป็นโปรแกรมเปิดอิสระ (Open Source) ที่อนุญาตให้นักพัฒนาหรือผู้ใช้งานทั่วไปมีสิทธิในการใช้และพัฒนาโปรแกรมได้โดยไม่เสียค่าใช้จ่ายไม่ว่าจะเป็นการใช้งานในวัตถุประสงค์ใด นอกจากนี้ผู้ใช้งานยังสามารถศึกษา เข้าถึง แก้ไขปรับปรุงกระบวนการทำงานของโปรแกรม และเพื่อเผยแพร่ให้บุคคลทั่วไปนำไปใช้หรือพัฒนาต่อยอดได้ (Maindonale and Bruan, 2010; Field, Mild and Field, 2012; Schumacker, 2012; Brundon and Comber, 2013)


กิจกรรมที่ 1.1: การติดตั้งโปรแกรม R

  1. เข้าสู่ website download R

  2. เลือกดาวน์โหลดโปรแกรมที่เหมาะสมกับระบบปฏิบัติการของเครื่องคอมพิวเตอร์ โดยสามารถเลือกได้ 3 ระบบปฏิบัติการได้แก่ Linux, Windows และ Mac OS

  3. ดำเนินการติดตั้งโปรแกรมตามคำแนะนำของตัวช่วยติดตั้ง
  4. เมื่อติดตั้งโปรแกรมแล้ว คลิกที่ icon R เพื่อเปิดโปรแกรม และพร้อมสำหรับการเรียนหัวข้อต่อไป



Intro to Basic


รูป 6 สภาพแวดล้อมของโปรแกรม R

บทเรียนนี้จะอธิบายเกี่ยวกับสภาพแวดล้อมของโปรแกรม R เบื้องต้น ซึ่งจะเป็นพื้นฐานที่จำเป็นต่อการใช้โปรแกรม R ต่อไป สภาพแวดล้อมของโปรแกรม R ประกอบด้วยหน้าต่างทำงานหลักจำนวน 3 หน้าต่างได้แก่ หน้าต่าง R Console, Editor และ Graphics (หรือ Quartz สำหรับ MacOS) ดังรูปที่ 6 โดยมีรายละเอียดเป็นดังนี้

หน้าต่าง R Console

เมื่อคลิกที่ icon R เพื่อเปิดโปรแกรมขึ้นมาใช้งาน ผู้ใช้จะพบกับหน้าต่าง R Console เพียงหน้าต่างเดียวดังรูป 7 หน้าต่าง R Console มีหน้าที่สองประการ ได้แก่ การรับคำสั่ง (input) และการแสดงผลลัพธ์ (output) จากตัวอย่างในรูป 7 ผู้ใช้สามารถป้อนคำสั่งในโปรแกรม R ด้วยการพิมพ์คำสั่งที่ต้องการบริเวณด้านหลังเครื่องหมาย > (เรียกว่า prompt) จากนั้นกดปุ่ม Enter หรือ Return เพื่อให้โปรแกรมประมวลผลและแสดงผลลัพธ์


รูป 7 การป้อนคำสั่งและการแสดงผลลัพธ์ในหน้าต่าง R Console

หากผู้เรียนได้ทดลองป้อนคำสั่งในหน้าต่าง R Console โดยตรง ผู้เรียนจะสังเกตเห็นได้ว่า การป้อนคำสั่งใด ๆ ในหน้าต่าง R Console สามารถทำได้เพียงทีละบรรทัด การกดปุ่ม enter คือการสั่งให้โปรแกรมประมวลผลคำสั่งในบรรทัดนั้นและแสดงผลลัพธ์ในทันที หากต้องการประมวลผลหลายคำสั่งในคราวเดียวกันผู้ใช้จะต้องเขียนคำสั่งทั้งหมดให้อยู่ภายในบรรทัดเดียวกัน โดยคั่นคำสั่งแต่ละคำสั่งด้วยเครื่องหมาย semicolon (;) เช่น 1+1; 2*3; 3^4; exp(10) จากนั้นกดปุ่ม Enter โปรแกรมจะประมวลผลพร้อมทั้งนำเสนอผลลัพธ์ของชุดคำสั่งทั้งหมดพร้อมกันในครั้งเดียว ดังตัวอย่างในรูป 8

รูป 8 การป้อนคำสั่งหลายคำสั่งใน R Console

หน้าต่าง R Editor

นิสิตจะเห็นว่าการทำงานขนาดใหญ่และมีความซับซ้อนภายใต้หน้าต่าง R Console เป็นวิธีการที่ไม่สะดวกนักในทางปฏิบัติ โปรแกรม R จึงมีหน้าต่าง Editor เข้ามาช่วยทำหน้าที่รับคำสั่งจากผู้ใช้แทนหน้าต่าง R Console โดยภายใต้หน้าต่าง Editor

  • ผู้ใช้สามารถพิมพ์คำสั่งได้หลายคำสั่งในหน้าต่างเดียวกันโดยที่แต่ละคำสั่งไม่จำเป็นต้องอยู่ในบรรทัดเดียวกัน

  • คำสั่งในหน้าต่าง Editor จะไม่ถูกประมวลผลจนกว่าผู้ใช้จะกดปุ่ม Clt+R (สำหรับ Windows) หรือ Cmd+Return (สำหรับ MacOS)

  • ผู้ใช้สามารถเลือกได้ว่าต้องการประมวลผลเพียงทีละคำสั่งหรือบางคำสั่ง หรือประมวลผลทุกคำสั่งในคราวเดียว ด้วยการทำ highlight คำสั่งหรือชุดคำสั่งที่ต้องการ จากนั้นจึงค่อยสั่งให้โปรแกรมประมวลผล

  • ผู้ใช้สามารถบันทึกชุดคำสั่งที่เขียนไว้ภายใต้หน้าต่าง Editor เพื่อเรียกใช้งาน หรือนำมาปรับปรุง แก้ไข ดัดแปลง ได้ในภายหลัง โดยชุดคำสั่งที่ภายใต้หน้าต่าง Editor จะถูกบันทึกไว้ในไฟล์ที่มีนามสกุล .r

  • การเรียกใช้หน้าต่าง Editor สามารถทำได้โดยการคลิกเลือกที่เมนู File ที่แถบเมนูด้านบนจากนั้นเลือก “New Script” (สำหรับระบบปฏิบัติการ Windows) หรือเลือก “New Document” (สำหรับระบบปฏิบัติการ MacOS)

รูป 9 การป้อนคำสั่งในหน้าต่าง Editor


กิจกรรม 1.2: การคำนวณทางคณิตศาสตร์พื้นฐาน

โปรแกรม R มีฟังก์ชันพื้นฐานสำหรับการคำนวณทางคณิตศาสตร์หลายฟังก์ชัน ดังตัวอย่างในตารางที่ 1

ตาราง 1 ฟังก์ชันทางคณิตศาสตร์พื้นฐานในโปรแกรม R

จงใช้หน้าต่าง R Editor Online ดำเนินการต่อไปนี้

  1. ลองกดปุ่ม “Run” แล้วสังเกตผลลัพธ์ที่ได้

  2. ลองพิมพ์คำสั่งตามตัวอย่างในตาราง 1 แล้วกดปุ่ม “Run” จากนั้นเปรียบเทียบผลลัพธ์ท่ี่ได้กับผลลัพธ์ในตาราง

  3. คำสั่ง cat( "text", value) เป็นคำสั่งสำหรับแสดงผลลัพธ์โดยผู้ใช้โปรแกรมสามารถปรับแต่งรูปแบบการนำเสนอผลลัพธ์ที่ต้องการได้ โดยที่ "text" คือข้อความที่ต้องการให้นำเสนอในผลลัพธ์ และ value คือค่าของผลลัพธ์ เช่น cat("1+1 is equal to", 1+1) จงใช้คำสั่ง cat เพื่อนำเสนอผลลัพธ์ของ sqrt(625) โดยให้ผลลัพธ์อยู่ในรูปแบบ
    the square root of 625 is 25



แนะนำ R Editor Online

หน้าต่างทางด้านล่างนี้ เรียกว่าหน้าต่าง R Editor Online ที่สามารถรับคำสั่งเพื่อนำไปประมวลผลโดย R Engine Online แล้วนำเสนอผลกลับมายังหน้า website ได้ นิสิตสามารถใช้หน้าต่าง R Editor Online นี้เพื่อทดลองเขียนคำสั่งและศึกษาผลลัพธ์ที่ได้จากคำสั่งต่าง ๆ โดยนิสิตไม่จำเป็นต้องสลับหน้าต่างไปยังโปรแกรม R ตัวจริงในเครื่องคอมพิวเตอร์ ทำให้สามารถเรียนรู้คำสั่งต่าง ๆ ได้อย่างต่อเนื่อง

R Editor Online



หน้าต่าง Graphics

เป็นหน้าต่างแสดงผลลัพธ์เชิงกราฟฟิกของโปรแกรม (ใน Mac OS เรียกว่าหน้าต่าง “quartz”) โดยจะเปิดขึ้นเพื่อแสดงผลลัพธ์เมื่อมีการสั่งคำสั่งให้มีการประมวลผลเชิงกราฟฟิก ยกตัวอย่างเช่น สมมติว่านักวิจัยเก็บรวบรวมข้อมูลจากตัวอย่างแล้วพบว่าประกอบด้วยตัวอย่างเพศชายจำนวน 30 คน และเพศหญิงจำนวน 100 คน นักวิจัยสามารถสร้างแผนภูมิแท่งเพื่อแสดงจำนวนตัวอย่างเพศชายและหญิงดังกล่าวได้โดยใช้คำสั่ง ซึ่งจะให้ผลลัพธ์ดังรูปที่ 10 โดยผู้เรียนจะได้เรียนรู้คำสั่งที่จำเป็นสำหรับการสร้างแผนภาพ แผนภูมิ หรือกราฟ เพื่อทัศนภาพข้อมูล (data visualization) ในภายหลัง

x<-c(30,70)
barplot(x)
รูป 10 หน้าต่าง Graphic



Test 1.1: Introduction to Basic

R Editor Online

R Script

  1. เปิดหน้าต่าง editor ของโปรแกรม R

  2. copy คำสั่งที่ใช้คำนวณผลลัพธ์ทางคณิตศาสตร์ใน Test1.1 ลงในหน้าต่าง Editor

  3. บนแถบเมนูคลิกเลือก “Files” แล้วเลือก “Save” จากนั้นตั้งชื่อไฟล์ดังนี้ “MyFirstScrip.r”

  4. ไฟล์ชุดคำสั่งที่บันทึกจากหน้าต่าง Editor ข้างต้นจะเรียกว่า R Script ให้ผู้เรียน upload ไฟล์ดังกล่าวส่งโดยกดที่ปุ่ม Upload ด้านล่าง



Share & Help

Made with Padlet



Evaluation Form