Introduction

โดยปกตินักวิเคราะห์ข้อมูลจะเรียกข้อมูลที่เก็บรวบรวมจากหน่วยตัวอย่าง หรือ กลุ่มเป้าหมายที่ต้องการศึกษาว่า ข้อมูลดิบ (raw data) ซึ่งเป็นข้อมูลที่ยังไม่มีความพร้อมที่จะนำไปวิเคราะห์ข้อมูลตามวัตถุประสงค์ของการวิจัย หน้าที่ของนักวิเคราะห์ข้อมูลคือการจัดเตรียมชุดข้อมูลหรือไฟล์ข้อมูลสำหรับการวิจัย ในบทนี้จะกล่าวถึงงานของนักวิเคราะห์ข้อมูลในส่วนของการลงรหัส และการจัดกระทำเพื่อให้ได้มาซึ่งชุดข้อมูลที่มีความน่าเชื่อถือและมีความพร้อมต่อการนำไปวิเคราะห์ด้วยวิธีการต่าง ๆ ตามวัตถุประสงค์การวิจัย

X Gender Location Math Att
1 Male BKK 73.63126 24.90627
2 M BKK 39.74177 20.57699
3 Female BKK 56.17273 NA
4 Female BKK 40.39129 NA
5 F BKK 78.60553 26.55215
6 Female BKK 55.04804 NA
7 Boy BKK 43.91343 16.86056
8 Male BKK NA 22.02647
9 Girl BKK 45.80502 NA
10 M BKK NA 18.00661
11 M BKK NA 23.01582
12 M BKK NA 30.18418
13 M BKK NA 22.66895
14 Male BKK 48.02485 21.78210
15 M BKK 48.25126 22.96364
16 Female BKK 34.50315 NA
17 Male BKK 58.41693 22.90271
18 female BKK 54.33005 NA
19 male BK 46.88963 23.97608
20 male BK 81.73160 30.66733
21 m BK NA 27.79259
22 female BK 49.29608 NA
23 boy BK 55.78423 20.83821
24 boy BK 59.57540 22.52318
25 male BK 45.09592 17.62496
26 M BK 49.31900 28.49617
27 M BK 44.13580 18.44470
28 M BK 78.56009 34.61449
29 M BK NA 37.49979
30 M BK 41.49222 14.08712
31 F BK 44.10798 NA
32 M BK 46.71202 16.62549
33 M BK 48.25278 26.44301
34 M BK 50.58516 28.45865
35 M BK 61.98647 24.43541
36 Male BK 46.55388 19.65623
37 M BK 75.21559 28.36943
38 Female BK 33.17205 NA
39 Female BK 50.13825 20.46504
40 Male BK 72.48926 30.93433
41 Female BK 46.64330 NA
42 F BK 76.55132 40.09734
43 M BK 51.59125 32.34099
44 F BK NA NA
45 boy BK 52.32525 22.40264
46 M BK 39.36704 21.73277
47 M BK 56.34321 22.49558
48 M BK NA 16.22683
49 M BK 34.42147 18.23119
50 0 BK 41.03768 NA
51 0 CMI 44.58456 NA
52 M CMI 61.91527 24.53045
53 0 CMI 33.08822 NA
54 0 CMI 43.54307 NA
55 0 CMI NA NA
56 M CMI 35.44866 20.12650
57 0 CMI 57.11843 NA
58 Male CMI 54.46937 17.36602
59 Male CMI 42.23768 28.69603
60 0 CMI NA 29.37217
61 Male CMI 47.75170 28.76117
62 0 CMI 43.85302 NA
63 Male CMI 52.35229 22.37248
64 Male CMI 81.27084 37.65133
65 0 CMI 46.25792 NA
66 1 CMI 33.72685 24.77062
67 Male CMI 32.54469 30.11322
68 1 CMI 33.74472 22.39681
69 0 CMI 53.80883 NA
70 1 CMI 67.42678 29.36617
71 Male CMI 55.59076 22.81934
72 0 CMI 21.73609 NA
73 0 CMI 51.65614 NA
74 0 CMI 46.68843 NA
75 0 CMI 50.61375 NA
76 Male CMI 41.15482 20.17870
77 1 CMI 73.17107 28.06313
78 M CMI 45.93931 28.94945
79 Male CMI 54.91332 26.97624
80 0 CMI 52.96943 NA
81 1 CMI 55.33009 29.74179
82 1 CMI 68.21117 24.24043
83 M CMI 82.28293 29.16294
84 1 CMI 80.22794 33.49814
85 1 CMI 58.68411 22.74710
86 0 CMI 45.74433 NA
87 F CMI 28.88333 NA
88 1 CMI 48.43461 20.45943
89 1 CMI 43.02912 14.17068
90 0 CMI 31.44762 NA
91 1 CMI 57.99016 28.59506
92 F CMI 32.92853 NA
93 1 CMI 65.79080 22.55325
94 1 CMI NA 28.92315
95 1 CMI 85.87771 29.05614
96 1 CMI 79.85525 28.87267
97 1 CMI 59.76965 25.61459
98 0 CMI 53.37257 NA
99 1 CMI 63.62472 19.24788
100 1 CMI NA 24.44476

Jamovi

Jamovi เป็นโปรแกรมวิเคราะห์ข้อมูลทางสถิติที่พัฒนาขึ้นใหม่โดยใช้โปรแกรม R เป็นฐาน จุดเด่นของของ Jamovi คือเป็นโปรแกรม Open Source ที่ผู้ใช้งานไม่เสียค่าใช้จ่าย นอกจากนี้ยังเปิดให้ผู้ใช้และนักพัฒนาสามารถเข้าถึงและพัฒนา Modules ต่าง ๆ เพื่อเพิ่มความสามารถและประสิทธิภาพของโปรแกรมได้เช่นเดียวกับโปรแกรม R ปัจจุบัน Jamovi อยู่ในช่วงกำลังพัฒนา อย่างไรก็ตามด้วยแนวคิดของการพัฒนาและความสามารถของโปรแกรมในปัจจุบัน ทำให้โปรแกรม Jamovi เป็นโปรแกรมที่เหมาะสำหรับการวิเคราะห์ข้อมูลพื้นฐาน และใช้ในการเรียนการสอนสถิติโดยไม่ต้องพึงโปรแกรมลิขสิทธิ์เช่น SPSS, Minitab หรือ SAS ดังเช่นในอดีต นอกจากนี้ยังสามารถใช้โปรแกรม Jamovi เพื่อเป็นพื้นฐานเพื่อเรียนการใช้งานโปรแกรม R ต่อไปได้อีกด้วย

Note ถึงแม้ Jamovi จะเป็นโปรแกรมฟรี แต่นักวิชาการจำเป็นต้องมีจรรยาบรรณในการทำงาน หากเราใช้โปรแกรม Jamovi สำหรับวิเคราะห์ข้อมูลในงานของเรา เราควรอ้างอิงโปรแกรม Jamovi ไว้ในรายการอ้างอิงของบทความหรือรายงานวิจัยด้วยดังนี้

jamovi project (2018). jamovi (Version 0.9) [Computer Software]. Retrieved from https://www.jamovi.org

นิสิตสามารถศึกษาการใช้งานโปรแกรม Jamovi เบื้องต้นได้จากคลิปวิดีโอต่อไปนี้

Importing Data in Jamovi

การนำข้อมูลเข้าสู่โปรแกรม Jamovi

การนำข้อมูลเข้าสู่โปรแกรม Jamovi โดยทั่วไปสามารถทำได้ 2 แนวทาง ได้แก่

  1. การนำข้อมูลเข้าโดยตรง ผ่านทางหน้าต่าง Data ของโปรแกรม

  2. การนำข้อมูลเข้าจากไฟล์ข้อมูล

คลิปวิดีโอต่อไปนี้แสดงการนำข้อมูลเข้าสู่โปรแกรม R โดยตรงจากตารางต่อไปนี้

height weight
180 70
165 50
170 90
175 60

Note: ถึงแม้ว่าโปรแกรม Jamovi จะสามารถนำเข้าข้อมูลได้โดยตรงผ่านทางหน้าต่าง Data ของโปรแกรมดังที่กล่าวไว้ในข้างต้น แต่อย่างไรก็ตามเนื่องด้วยโปรแกรมกำลังอยู่ในช่วงพัฒนาทำให้การกำหนดสัญลักษณ์เพื่อทดแทนข้อมูลสูญหายในโปรแกรมยังไม่สมบูรณ์ จึงแนะนำให้ผู้ใช้โปรแกรมคีย์ข้อมูลในโปรแกรม Microsoft Excel หรือ Notepad ก่อนแล้วจึงนำไฟล์ข้อมูลดังกล่าวเข้าสู่โปรแกรม Jamovi ดังกิจกรรมต่อไปนี้


กิจกรรม:

  1. จงคีย์ข้อมูลในชุดข้อมูล MessyData1 ลงใน SpreadSheet ของโปรแกรม Microsoft Excel
  • จากข้อมูลในตารางนิสิตจะเห็นว่าในบางตัวแปรของบางหน่วยตัวอย่างมีการกำหนดสัญลักษณ์ “NA” ไว้แทนค่าของข้อมูล (ย่อมาจาก Not Avaible) หมายถึงข้อมูลดังกล่าวเป็นข้อมูลสูญหาย (missing data) โดยที่ NA เป็นสัญลักษณ์ที่โปรแกรม Jamovi และ R ใช้เป็นค่าเร่ิมต้นสำหรับแทนข้อมูลสูญหายในชุดข้อมูล

  • Save File ข้อมูลจาก Excel File แล้วเก็บไว้ในคอมพิวเตอร์ของนิสิต โดยบันทึกให้เป็นนามสกุล.csv


  1. จงนำข้อมูล MessyData1 เข้าสู่โปรแกรม Jamovi
  • โปรแกรม Jamovi สามารถนำเข้าข้อมูลได้อย่างหลากหลายประเภท ก่อนนำข้อมูลเข้าผู้วิเคราะห์ควรตรวจสอบสัญลักษณ์ที่ใช้แทนค่าสูญหาย (missing value) ของโปรแกรม Jamovi ว่าสอดคล้องกับสัญลักษณ์ที่ใช้ในไฟล์ข้อมูลหรือไม่ ถ้ายังไม่สอดคล้องให้ผู้วิเคราะห์ระบุในโปรแกรม Jamovi ให้สอดคล้องกัน โดยเข้าไปที่แถบเมนูด้านขวามือดังรูป
  • ในกรณีทั่วไปผู้วิเคราะห์ข้อมูลสามารถกำหนดสัญลักษณ์แทนข้อมูลสูญหายเป็นสัญลักษณ์ใดก็ได้ เช่น อาจใช้ตัวเลข -9, -99, 9999


  1. จง save ไฟล์ชุดข้อมูลโดยตั้งชื่อไฟล์เป็นรหัสนิสิตในรูปแบบดังรูป

  2. ส่งไฟล์ที่ save ในข้อ 2 โดยกดปุ่ม upload ด้านล่าง

Exploring Dataset

การจัดกระทำข้อมูลมีวัตถุประสงค์หลัก 4 ข้อได้แก่

  1. เพื่อสำรวจโครงสร้างของชุดข้อมูล

  2. เพื่อสำรวจค่าสังเกตของตัวแปรแต่ละตัวในชุดข้อมูล

  3. เพื่อแก้ไขปัญหาหรือความผิดพลาดต่าง ๆ ที่สำรวจพบในชุดข้อมูล

  4. เพื่อจัดรูปแบบของชุดข้อมูลให้มีความพร้อมกับการวิเคราะห์ข้อมูลตามวัตถุประสงค์ของการวิจัย


ขั้นที่ 1: การสำรวจโครงสร้างของชุดข้อมูล

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

  • ในชุดข้อมูลมีตัวแปรกี่ตัว อะไรบ้าง ครบถ้วนแล้วหรือไม่?

  • ตัวแปรแต่ละตัวมีความหมายอย่างไร และเป็นตัวแปรประเภทใด การกำหนดประเภทของตัวแปรในชุดข้อมูลถูกต้องแล้วหรือไม่?

  • จำนวนหน่วยตัวอย่างหรือหน่วยข้อมูลในชุดข้อมูลมีเท่าใด ครบถ้วนแล้วหรือไม่?

  • ภาพรวมของการคีย์ข้อมูลเป็นอย่างไร สังเกตพบความผิดพลาด หรือปัญหาอะไรในชุดข้อมูลหรือไม่?

Exploring Observed Values

ขั้นที่ 2: การสำรวจค่าสังเกตของตัวแปรแต่ละตัวในชุดข้อมูล

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

  • ขอบเขตของค่าสังเกตในแต่ละตัวแปรเป็นอย่างไร ?

  • การลงรหัสค่าสังเกตของตัวแปรแต่ละตัว มีความสมเหตุสมผล และเป็นระบบเดียวกันหรือไม่ ?

  • มีค่าผิดปกติ (outliers) เกิดขึ้นในชุดข้อมูลหรือไม่ ?

  • มีค่าสูญหายเกิดขึ้นหรือไม่ ถ้ามีเกิดขึ้นที่ตัวแปรใด มีปริมาณมากจนอาจส่งผลกระทบต่อการวิเคราะห์หรือไม่ ?

การสำรวจชุดข้อมูลเพื่อตอบคำถามข้างต้นด้วยโปรแกรม Jamovi อาจทำได้สองแนวทาง ดังนี้

  1. แนวทางแรกคือการใช้ฟังก์ชันสำเร็จรูปภายใต้ library “Exploration” ของโปรแกรม Jamovi โดยเลือกใช้ sub-module “Descriptive” เพื่อให้โปรแกรมคำนวณค่าสถิติเบื้องต้นสำหรับบรรยายลักษณะข้อมูลในชุดข้อมูล การวิเคราะห์ข้อมูลในเบื้องต้นผู้วิเคราะห์อาจเลือกสถิติพื้นฐาน เช่น ความถี่ ร้อยละ ค่าสูงสุด ค่าต่ำสุด ค่าเฉลี่ย ส่วนเบี่ยงเบนมาตรฐาน ประกอบกับแผนภูมิและกราฟที่สามารถใช้พิจารณาการแจกแจงของข้อมูลได้ ดังรูป นอกจากนี้ผู้เรียนยังสามารถศึกษาการใช้ Descriptive Module ของโปรแกรม Jamovi จากคลิปด้านล่าง

จงใช้โปรแกรม Jamovi วิเคราะห์ข้อมูลเบื้องต้นจากชุดข้อมูล MessyData1 เพื่อตอบคำถามต่อไปนี้

R on Jamovi

จากที่กล่าวไว้ในข้างต้นว่า โปรแกรม Jamovi กำลังอยู่ในช่วงพัฒนาจึงทำให้ยังมี Module สำหรับการจัดกระทำ วิเคราะห์ และนำเสนอข้อมูลที่ยังไม่ครบหรือยังไม่สมบูรณ์ อย่างไรก็ตามด้วยการที่โปรแกรม Jamovi เป็นโปรแกรมที่พัฒนาโดยใช้โปรแกรม R เป็นฐาน ทำให้ผู้ใช้สามารถเสริมประสิทธิภาพการทำงานของโปรแกรม Jamovi ได้ด้วยการใช้ Engine ของโปรแกรม R จัดกระทำและวิเคราะห์ข้อมูลได้โดยตรงผ่านทาง Rj Editor ของโปรแกรม Jamovi

โปรแกรม R คืออะไร??? —> คลิกเลย บทเรียนเตรียมความพร้อมก่อนใช้ R

  • การใช้งาน Rj Editor ของโปรแกรม Jamovi ผู้ใช้จำเป็นต้อง download library เพิ่มเติมก่อน โดยสามารถทำได้ด้วยการกดที่ปุ่ม Modules ที่อยู่ทางด้านมุมขวาบนของหน้าต่างโปรแกรม Jamovi แล้วเลือก Jamovi library

  • จากนั้นกดเลือก library “Rj-Editor” ดังรูป

  • การเริ่มใช้งาน Rj-Editor ทำได้ด้วยการกดเลือกที่ปุ่ม icon


ทดลองใช้ Rj-Editor

แอบบอกว่า R Engine ใน Jamovi มี 2 ตัวได้แก่ Jamovi R และ System R ในปัจจุบัน Jamovi R เป็น Engine ของ R ที่ถูกดัดแปลงโดยผู้พัฒนา Jamovi เช่นมีการฝัง library ที่สำคัญเอาไว้ใน Engine เลยทำการใช้งานมีความสะดวกมากขึ้น อย่างไรก็ตาม Jamovi R มีข้อจำกัดที่ไม่สามารถ download library อื่น ๆ มาใช้งานได้ ทำให้การใช้งาน Jamovi R ยังมีข้อจำกัดอยู่ ปัจจุบันจึงแนะนำให้ใช้ System R Engine จะมีประสิทธิภาพสูงกว่า


คำสั่ง summary() สำหรับเรียกค่าสถิติพื้นฐานได้แก่ min, Q1, median, mean, Q3 และ max เพื่อสรุปขอบเขตและการแจกแจงของข้อมูลแบบคร่าว ๆ

summary(data[1:3])
##        X              Gender   Location
##  Min.   :  1.00   M      :25   BK :32  
##  1st Qu.: 25.75   0      :18   BKK:18  
##  Median : 50.50   1      :18   CMI:50  
##  Mean   : 50.50   Male   :15           
##  3rd Qu.: 75.25   Female : 7           
##  Max.   :100.00   F      : 6           
##                   (Other):11
  • การเรียกดูข้อมูลในแต่ละตัวแปรใน Rj-Editor
data[,2] #เรียกดูข้อมูลของตัวแปร Gender
##   [1] Male   M      Female Female F      Female Boy    Male   Girl   M     
##  [11] M      M      M      Male   M      Female Male   female male   male  
##  [21] m      female boy    boy    male   M      M      M      M      M     
##  [31] F      M      M      M      M      Male   M      Female Female Male  
##  [41] Female F      M      F      boy    M      M      M      M      0     
##  [51] 0      M      0      0      0      M      0      Male   Male   0     
##  [61] Male   0      Male   Male   0      1      Male   1      0      1     
##  [71] Male   0      0      0      0      Male   1      M      Male   0     
##  [81] 1      1      M      1      1      0      F      1      1      0     
##  [91] 1      F      1      1      1      1      1      0      1      1     
## Levels: 0 1 boy Boy F female Female Girl m M male Male
data$Gender #เรียกดูข้อมูลของตัวแปร Gender เช่นเดียวกัน
##   [1] Male   M      Female Female F      Female Boy    Male   Girl   M     
##  [11] M      M      M      Male   M      Female Male   female male   male  
##  [21] m      female boy    boy    male   M      M      M      M      M     
##  [31] F      M      M      M      M      Male   M      Female Female Male  
##  [41] Female F      M      F      boy    M      M      M      M      0     
##  [51] 0      M      0      0      0      M      0      Male   Male   0     
##  [61] Male   0      Male   Male   0      1      Male   1      0      1     
##  [71] Male   0      0      0      0      Male   1      M      Male   0     
##  [81] 1      1      M      1      1      0      F      1      1      0     
##  [91] 1      F      1      1      1      1      1      0      1      1     
## Levels: 0 1 boy Boy F female Female Girl m M male Male
data[1,4] #เรียกดูข้อมูลเจตคติทางการเรียนคณิตศาสตร์ของนักเรียนคนแรก
## [1] 73.63126
data[1:5,3:4] #เรียกดูผลสัมฤทธ์ทางการเรียนและเจตคติต่อการเรียนคณิตศาสตร์ของนักเรียน 5 คนแรก
##   Location     Math
## 1      BKK 73.63126
## 2      BKK 39.74177
## 3      BKK 56.17273
## 4      BKK 40.39129
## 5      BKK 78.60553

คำสั่ง describe() สำหรับเรียกค่าสถิติเชิงบรรยายที่สำคัญของตัวแปร

library(psych) #เรียก library "psych" ที่เป็นเจ้าของฟังก์ชัน describe
describe(data)
##           vars   n  mean    sd median trimmed   mad   min    max range
## X            1 100 50.50 29.01  50.50   50.50 37.06  1.00 100.00 99.00
## Gender*      2 100  6.38  4.26   7.00    6.35  7.41  1.00  12.00 11.00
## Location*    3 100  2.18  0.89   2.50    2.23  0.74  1.00   3.00  2.00
## Math         4  87 52.38 14.19  50.14   51.57 10.54 21.74  85.88 64.14
## Att          5  70 24.88  5.53  24.34   24.68  6.17 14.09  40.10 26.01
##            skew kurtosis   se
## X          0.00    -1.24 2.90
## Gender*   -0.04    -1.70 0.43
## Location* -0.35    -1.66 0.09
## Math       0.53    -0.27 1.52
## Att        0.37    -0.12 0.66

Maipulating Data: Recoding

Recoding คือการแปลงรหัสของค่าสังเกตในตัวแปร เพื่อให้การลงรหัสของค่าสังเกตในตัวแปรแต่ละตัวอยู่ในระบบเดียวกันตามที่ผู้วิเคราะห์กำหนด จากการสำรวจค่าสังเกตของตัวแปรในชุดข้อมูล MessyData 1 ในกิจกรรมก่อนหน้านี้นิสิตจะพบว่า ตัวแปร Gender และ Location เป็นตัวแปรที่มีปัญหาในการลงรหัสที่ไม่เป็นระบบเดียวกัน ซึ่งสามารถแก้ปัญหาดังกล่าวได้ด้วยการแปลงรหัสของตัวแปรทั้งสองใหม่

  • ปัจจุบัน Jamovi เองยังไม่มี Module สำหรับ Recode รหัสโดยตรง (โดย Feature นี้กำลังได้อยู่ในช่วงพัฒนาจากผู้พัฒนาโปรแกรมอยู่)
  • ด้วยปัญหาดังกล่าว ทำให้การ Recoding ใน Jamovi ต้องในโปรแกรมอื่น แล้วจึง import data file เข้ามาใน Jamovi ใหม่
  • ตัวอย่างคำสั่งต่อไปนี้แสดงการ Recode ค่าสังเกตของตัวแปร Location ให้อยู่ในระบบเดียวกัน ด้วยโปรแกรม R โดยกำหนดให้

ภูมิลำเนา กรุงเทพฯ แทนด้วยรหัส “BKK”

ภูมิลำเนา เชียงใหม่ แทนด้วยรหัส “CMI”

ดังนั้นจึงต้องแปลงรหัสค่าสังเกตที่เป็น “BK” ให้กลายเป็น “BKK” ให้หมด

data$Location[data$Location=="BK"]<-"BKK"
summary(data)
##        X              Gender   Location      Math            Att       
##  Min.   :  1.00   M      :25   BK : 0   Min.   :21.74   Min.   :14.09  
##  1st Qu.: 25.75   0      :18   BKK:50   1st Qu.:43.88   1st Qu.:21.06  
##  Median : 50.50   1      :18   CMI:50   Median :50.14   Median :24.34  
##  Mean   : 50.50   Male   :15            Mean   :52.38   Mean   :24.88  
##  3rd Qu.: 75.25   Female : 7            3rd Qu.:58.55   3rd Qu.:28.84  
##  Max.   :100.00   F      : 6            Max.   :85.88   Max.   :40.10  
##                   (Other):11            NA's   :13      NA's   :30