สิวะโชติ ศรีสุทธิยากร สาขาวิชา สถิติการศึกษา คณะครุศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย 20 July 2018
วัตถุประสงค์เชิงพฤติกรรม
ปัจจุบัน 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 ตำแหน่ง
R
เป็นโปรแกรมภาษาคอมพิวเตอร์ที่ถูกพัฒนาขึ้นสำหรับใช้งานทางด้านสถิติสมัยใหม่ และได้รับความนิยมอย่างสูงในปัจจุบันโดยเฉพาะในการทำงานด้านวิเคราะห์ข้อมูล (data analysis) และงานด้านวิทยาศาสตร์ข้อมูล (data science) ความสามารถหลักของโปรแกรม R อาจจำแนกได้เป็น 4 ด้าน ได้แก่ การนำเข้าข้อมูล การจัดกระทำข้อมูล การสำรวจและวิเคราะห์ข้อมูล และการรายงานผลการวิเคราะห์ รายละเอียดเป็นดังนี้
โปรแกรม R มีความสามารถในการนำเข้าข้อมูลจากแหล่งต่าง ๆ ทั้งข้อมูลที่อยู่ในรูปแบบ Flat File, Excel File, Database, Website รวมทั้งไฟล์ข้อมูลจากโปรแกรมวิเคราะห์ข้อมูลทางสถิติต่าง เช่น SPSS, SAS, STATA และ MiniTab เป็นต้น ผู้เรียนจะได้ศึกษารายละเอียดของการนำไฟล์ข้อมูลประเภทต่าง ๆ จากหลายแหล่งเข้าสู่โปรแกรม R
นอกจากความสามารถในการนำเข้าไฟล์ข้อมูลที่หลากหลายแล้ว โปรแกรม R ยังมีความสามารถในการจัดกระทำข้อมูลเพื่อจัดระเบียบข้อมูลดิบที่นำเข้า และสร้างชุดข้อมูลใหม่ที่มีความพร้อมต่อการนำไปวิเคราะห์ข้อมูลตามวัตถุประสงค์การวิจัย โดยปกติการจัดกระทำข้อมูลสามารถจำแนกออกได้เป็น 3 กระบวนการย่อย ได้แก่ การสำรวจข้อมูลดิบ การจัดกระทำข้อมูล และการเตรียมชุดข้อมูลสำหรับการวิเคราะห์ตามวัตถุประสงค์การวิจัย รวมไปถึงการวิเคราะห์และทดแทนค่าสูญหาย (analysis and imputation of missing values) ที่อาจเกิดขึ้นจากการเก็บรวบรวมข้อมูลอีกด้วย
่โปรแกรม R เป็น Open Source โดยจดทะเบียนภายใต้ลิขสิทธิ์ของ GNU ที่ให้สิทธิ์่ผู้ใช้ในทุกระดับสามารถเข้าถึงชุดคำสั่ง รวมถึงสามารถดำเนินการปรับปรุง ดัดแปลง หรือ แก้ไข เพื่อใช้งานในวัตถุประสงค์ต่าง ๆ ได้ไม่ว่าจะเป็นในเชิงวิชาการ หรือเชิงพาณิชย์ ทำให้ปัจจุบันโปรแกรม R มี package สำหรับใช้ในงานวิเคราะห์ข้อมูลรวมถึงงานอื่น ๆ ที่เกี่ยวข้องเป็นจำนวนมากกว่า 10,000 packages และมีแนวโน้มเพิ่มขึ้นเรื่อย ๆ ในรอบ 10 ปีที่ผ่านมา ด้วยอัตราก้าวกระโดด (ค.ศ. 1998-2018)
ในปัจจุบัน R จึงเป็นโปรแกรมที่มีขีดความสามารถในการวิเคราะห์ข้อมูลที่สูงและมีขอบเขตการทำงานที่กว้างขวาง รองรับการวิเคราะห์ข้อมูลด้วยโมเดลทางสถิติที่หลากหลาย ตั้งแต่สถิติพื้นฐาน ไปจนถึงสถิติขั้นสูง เทียบเท่า (หรืออาจมากกว่า) การใช้โปรแกรมวิเคราะห์ข้อมูลทางสถิติชั้นนำอื่น ๆ เช่น SPSS, SAS, Minitab, AMOS, LISREL, หรือ HLM เป็นต้น
ความสามารถด้านนี้อาจจำแนกได้เป็นสองส่วน
และ ทัศนภาพข้อมูลเชิงปฏิสัมพันธ์ (interactive data visualization) ที่สามารถปรับเปลี่ยนการนำเสนอข้อมูลได้ตามความต้องการของผู้ใช้ข้อมูลที่การนำเสนอในรูปแบบกระดาษปกติไม่สามารถนำเสนอได้ ดังตัวอย่างในรูป 5
R Markdown
ทำให้การสร้างและเผยแพร่ผลการวิเคราะห์สามารถทำได้โดยง่ายและไม่มีข้อจำกัด
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)
R
เข้าสู่ website download R
เลือกดาวน์โหลดโปรแกรมที่เหมาะสมกับระบบปฏิบัติการของเครื่องคอมพิวเตอร์ โดยสามารถเลือกได้ 3 ระบบปฏิบัติการได้แก่ Linux, Windows และ Mac OS
เมื่อติดตั้งโปรแกรมแล้ว คลิกที่ icon 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
เพื่อให้โปรแกรมประมวลผลและแสดงผลลัพธ์
หากผู้เรียนได้ทดลองป้อนคำสั่งในหน้าต่าง R Console โดยตรง ผู้เรียนจะสังเกตเห็นได้ว่า การป้อนคำสั่งใด ๆ ในหน้าต่าง R Console สามารถทำได้เพียงทีละบรรทัด การกดปุ่ม enter คือการสั่งให้โปรแกรมประมวลผลคำสั่งในบรรทัดนั้นและแสดงผลลัพธ์ในทันที หากต้องการประมวลผลหลายคำสั่งในคราวเดียวกันผู้ใช้จะต้องเขียนคำสั่งทั้งหมดให้อยู่ภายในบรรทัดเดียวกัน โดยคั่นคำสั่งแต่ละคำสั่งด้วยเครื่องหมาย semicolon (;) เช่น 1+1; 2*3; 3^4; exp(10)
จากนั้นกดปุ่ม Enter
โปรแกรมจะประมวลผลพร้อมทั้งนำเสนอผลลัพธ์ของชุดคำสั่งทั้งหมดพร้อมกันในครั้งเดียว ดังตัวอย่างในรูป 8
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)
โปรแกรม R มีฟังก์ชันพื้นฐานสำหรับการคำนวณทางคณิตศาสตร์หลายฟังก์ชัน ดังตัวอย่างในตารางที่ 1
ตาราง 1 ฟังก์ชันทางคณิตศาสตร์พื้นฐานในโปรแกรม R
จงใช้หน้าต่าง R Editor Online ดำเนินการต่อไปนี้
ลองกดปุ่ม “Run” แล้วสังเกตผลลัพธ์ที่ได้
ลองพิมพ์คำสั่งตามตัวอย่างในตาราง 1 แล้วกดปุ่ม “Run” จากนั้นเปรียบเทียบผลลัพธ์ท่ี่ได้กับผลลัพธ์ในตาราง
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
เป็นหน้าต่างแสดงผลลัพธ์เชิงกราฟฟิกของโปรแกรม (ใน Mac OS เรียกว่าหน้าต่าง “quartz”) โดยจะเปิดขึ้นเพื่อแสดงผลลัพธ์เมื่อมีการสั่งคำสั่งให้มีการประมวลผลเชิงกราฟฟิก ยกตัวอย่างเช่น สมมติว่านักวิจัยเก็บรวบรวมข้อมูลจากตัวอย่างแล้วพบว่าประกอบด้วยตัวอย่างเพศชายจำนวน 30 คน และเพศหญิงจำนวน 100 คน นักวิจัยสามารถสร้างแผนภูมิแท่งเพื่อแสดงจำนวนตัวอย่างเพศชายและหญิงดังกล่าวได้โดยใช้คำสั่ง ซึ่งจะให้ผลลัพธ์ดังรูปที่ 10 โดยผู้เรียนจะได้เรียนรู้คำสั่งที่จำเป็นสำหรับการสร้างแผนภาพ แผนภูมิ หรือกราฟ เพื่อทัศนภาพข้อมูล (data visualization) ในภายหลัง
x<-c(30,70)
barplot(x)
Test 1.1: Introduction to Basic
R
Editor Online
R Script
เปิดหน้าต่าง editor ของโปรแกรม R
copy คำสั่งที่ใช้คำนวณผลลัพธ์ทางคณิตศาสตร์ใน Test1.1 ลงในหน้าต่าง Editor
บนแถบเมนูคลิกเลือก “Files” แล้วเลือก “Save” จากนั้นตั้งชื่อไฟล์ดังนี้ “MyFirstScrip.r”