อ่านข้อมูลด้วยคำสั่ง read.table
แล้วใส่ไฟล์ที่ต้องการอ่านลงไป ในที่นี้คือ
emotionalstability.csv
dat <- read.table("emotionalstability.csv", sep = ",", header = TRUE)
ข้อมูลนี้จะเป็นข้อคำถามในมาตรวัดความมั่นคงทางอารมณ์ มีทั้งหมด 10 ข้อ โดยข้อที่ 1-5
เป็นข้อทางบวก และข้อที่ 6-10 เป็นข้อทางลบ อันดับแรกให้สร้างเวคเตอร์ที่มีชื่อของตัวแปรทุกตัว
ในที่นี้ตั้งชื่อว่า itemname
itemname <- c("EMO01", "EMO02", "EMO03", "EMO04", "EMO05",
"EMO06", "EMO07", "EMO08", "EMO09", "EMO10")
ใช้คำสั่ง describe
ในแพ๊คเกจ psych
เพื่อตรวจสอบค่าสถิติพื้นฐานของตัวแปรแต่ละตัวในข้อมูล ในที่นี้จะได้ค่าเฉลี่ย (ความยากรายข้อ)
ของแต่ละตัวแปร
library(psych)
## Warning: package 'psych' was built under R version 4.2.3
describe(dat)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## EMO01 1 200 2.98 1.31 3 2.98 1.48 1 5 4 -0.01 -1.09 0.09
## EMO02 2 200 2.94 1.32 3 2.92 1.48 1 5 4 0.04 -1.26 0.09
## EMO03 3 200 2.90 1.34 3 2.87 1.48 1 5 4 -0.11 -1.15 0.09
## EMO04 4 200 3.00 1.13 3 3.04 1.48 1 5 4 -0.16 -0.92 0.08
## EMO05 5 200 3.04 1.25 3 3.04 1.48 1 5 4 0.10 -1.05 0.09
## EMO06 6 200 3.02 1.16 3 2.98 1.48 1 5 4 0.36 -0.86 0.08
## EMO07 7 200 2.97 1.21 3 2.96 1.48 1 5 4 -0.05 -0.80 0.09
## EMO08 8 200 2.92 1.15 3 2.93 1.48 1 5 4 0.07 -1.03 0.08
## EMO09 9 200 3.05 1.33 3 3.06 1.48 1 5 4 -0.23 -1.26 0.09
## EMO10 10 200 2.94 1.08 3 2.91 1.48 1 5 4 0.19 -1.01 0.08
ใช้คำสั่ง alpha
ในแพ๊คเกจ psych
เพื่อตรวจสอบค่าอำนาจจำแนกของตัวแปร (เพิ่มเติมจากสัมประสิทธิ์อัลฟ่า)
alpha(dat[,itemname])
## Warning in alpha(dat[, itemname]): Some items were negatively correlated with the first principal component and probably
## should be reversed.
## To do this, run the function again with the 'check.keys=TRUE' option
## Some items ( EMO06 EMO07 EMO08 EMO09 EMO10 ) were negatively correlated with the first principal component and
## probably should be reversed.
## To do this, run the function again with the 'check.keys=TRUE' option
##
## Reliability analysis
## Call: alpha(x = dat[, itemname])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.48 0.48 0.73 0.084 0.92 0.061 3 0.52 -0.27
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.36 0.48 0.58
## Duhachek 0.36 0.48 0.60
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## EMO01 0.44 0.45 0.72 0.084 0.82 0.066 0.21 -0.27
## EMO02 0.44 0.45 0.72 0.083 0.81 0.066 0.22 -0.28
## EMO03 0.42 0.43 0.70 0.078 0.76 0.068 0.21 -0.27
## EMO04 0.41 0.43 0.69 0.077 0.75 0.069 0.20 -0.27
## EMO05 0.43 0.45 0.70 0.082 0.81 0.066 0.20 -0.27
## EMO06 0.47 0.46 0.72 0.087 0.85 0.061 0.21 -0.27
## EMO07 0.50 0.49 0.74 0.097 0.97 0.058 0.22 -0.27
## EMO08 0.45 0.44 0.70 0.079 0.77 0.063 0.22 -0.29
## EMO09 0.48 0.45 0.70 0.085 0.83 0.058 0.20 -0.27
## EMO10 0.47 0.47 0.72 0.088 0.87 0.060 0.21 -0.27
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## EMO01 200 0.46 0.42 0.34 0.224 3.0 1.3
## EMO02 200 0.47 0.43 0.34 0.235 2.9 1.3
## EMO03 200 0.51 0.47 0.44 0.282 2.9 1.3
## EMO04 200 0.51 0.48 0.46 0.320 3.0 1.1
## EMO05 200 0.47 0.43 0.41 0.250 3.0 1.2
## EMO06 200 0.35 0.40 0.31 0.138 3.0 1.2
## EMO07 200 0.27 0.31 0.18 0.039 3.0 1.2
## EMO08 200 0.42 0.46 0.40 0.215 2.9 1.2
## EMO09 200 0.38 0.41 0.38 0.130 3.0 1.3
## EMO10 200 0.33 0.38 0.31 0.132 2.9 1.1
##
## Non missing response frequency for each item
## 1 2 3 4 5 miss
## EMO01 0.17 0.20 0.27 0.21 0.16 0
## EMO02 0.16 0.28 0.16 0.27 0.14 0
## EMO03 0.24 0.10 0.30 0.23 0.12 0
## EMO04 0.10 0.24 0.26 0.32 0.07 0
## EMO05 0.10 0.28 0.25 0.20 0.16 0
## EMO06 0.06 0.33 0.31 0.14 0.16 0
## EMO07 0.15 0.17 0.36 0.20 0.12 0
## EMO08 0.10 0.32 0.22 0.28 0.08 0
## EMO09 0.17 0.20 0.14 0.36 0.12 0
## EMO10 0.06 0.38 0.22 0.28 0.07 0
ผลการวิเคราะห์ขึ้นเตือนว่า ข้อคำถามอาจไม่ได้กลับคะแนน (ซึ่งเป็นความจริง)
โดยโปรแกรมแนะนำให้ใส่ check.keys=TRUE
ลงใน alpha
หากไปใส่ตามโปรแกรมบอก โปรแกรมจะคาดเดาว่าตัวแปรอะไรบ้างที่มีทิศทางลบ
แล้วลองกลับทิศข้อคำถามให้ดู แล้วหาค่าสัมประสิทธิ์อัลฟ่าอีกที นักวิเคราะห์พอดูเป็นแนวทางได้
แต่เอาจริง นักวิเคราะห์ย่อมรู้ดีอยู่แล้วว่าข้อใดเป็นข้อทางลบตั้งแต่ต้น นักวิเคราะห์จึงควรกลับคะแนน ก่อนนำมาหาค่าสัมประสิทธิ์อัลฟ่า ดังนั้นจึงกลับคะแนนข้อ 6-10 ที่เป็นข้อทางลบ เนื่องจากคำตอบที่เป็นไปได้ในแต่ละข้อ คือ 1-5 ดังนั้นจึงนำคะแนนไปลบออกจาก 6 เพื่อให้คะแนน 1, 2, 3, 4, 5 กลับด้านเป็น 5, 4, 3, 2, 1
dat[,"EMO06"] <- 6 - dat[,"EMO06"]
dat[,"EMO07"] <- 6 - dat[,"EMO07"]
dat[,"EMO08"] <- 6 - dat[,"EMO08"]
dat[,"EMO09"] <- 6 - dat[,"EMO09"]
dat[,"EMO10"] <- 6 - dat[,"EMO10"]
ลองหาค่าสัมประสิทธิ์อัลฟ่าอีกครั้ง จะพบว่าคำเตือนหายไป และค่าอัลฟ่ากลับมาสูง
alpha(dat[,itemname])
##
## Reliability analysis
## Call: alpha(x = dat[, itemname])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.88 0.89 0.9 0.44 7.7 0.012 3 0.86 0.37
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.86 0.88 0.91
## Duhachek 0.86 0.88 0.91
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## EMO01 0.87 0.88 0.90 0.44 7.0 0.014 0.023 0.38
## EMO02 0.88 0.88 0.90 0.44 7.1 0.013 0.023 0.38
## EMO03 0.87 0.87 0.89 0.43 6.9 0.014 0.020 0.38
## EMO04 0.87 0.87 0.89 0.43 6.7 0.014 0.020 0.38
## EMO05 0.87 0.87 0.89 0.42 6.6 0.014 0.021 0.35
## EMO06 0.88 0.88 0.90 0.44 7.1 0.013 0.023 0.38
## EMO07 0.88 0.88 0.90 0.45 7.3 0.013 0.025 0.37
## EMO08 0.88 0.88 0.89 0.44 7.2 0.013 0.021 0.38
## EMO09 0.87 0.87 0.89 0.43 6.7 0.014 0.022 0.36
## EMO10 0.87 0.87 0.89 0.43 6.9 0.014 0.023 0.38
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## EMO01 200 0.70 0.69 0.65 0.61 3.0 1.3
## EMO02 200 0.68 0.67 0.62 0.58 2.9 1.3
## EMO03 200 0.73 0.72 0.70 0.64 2.9 1.3
## EMO04 200 0.76 0.75 0.74 0.69 3.0 1.1
## EMO05 200 0.77 0.76 0.75 0.70 3.0 1.2
## EMO06 200 0.67 0.68 0.63 0.58 3.0 1.2
## EMO07 200 0.64 0.64 0.58 0.54 3.0 1.2
## EMO08 200 0.64 0.66 0.62 0.56 3.1 1.2
## EMO09 200 0.74 0.74 0.72 0.65 3.0 1.3
## EMO10 200 0.69 0.71 0.67 0.62 3.1 1.1
##
## Non missing response frequency for each item
## 1 2 3 4 5 miss
## EMO01 0.17 0.20 0.27 0.21 0.16 0
## EMO02 0.16 0.28 0.16 0.27 0.14 0
## EMO03 0.24 0.10 0.30 0.23 0.12 0
## EMO04 0.10 0.24 0.26 0.32 0.07 0
## EMO05 0.10 0.28 0.25 0.20 0.16 0
## EMO06 0.16 0.14 0.31 0.33 0.06 0
## EMO07 0.12 0.20 0.36 0.17 0.15 0
## EMO08 0.08 0.28 0.22 0.32 0.10 0
## EMO09 0.12 0.36 0.14 0.20 0.17 0
## EMO10 0.07 0.28 0.22 0.38 0.06 0
ถ้าดูผลลัพธ์ของฟังก์ชั่นนี้ จะพบว่านอกเหนือค่าอัลฟ่าที่อ่านได้จาก raw_alpha
แล้ว ยังมีค่าที่น่าสนใจอีกมากมาย
95% confidence boundaries
เป็นการหาช่วงเชื่อมั่นของค่าสัมประสิทธิ์อัลฟ่า ว่าค่าในประชากรน่าจะมีค่าอยู่ในช่วงใด
ถ้าช่วงเชื่อมั่นยิ่งแคบ ค่าอัลฟ่าที่คำนวณได้จะยิ่งแม่นยำReliability if an item is dropped:
เป็นการตรวจสอบค่าอัลฟ่าเมื่อนำข้อคำถามในแถวนั้นออก โดยดูจาก raw_alpha
ค่านี้ยิ่งสูงยิ่งดีItem statistics
เป็นค่าสถิติของข้อคำถามแต่ละข้อ โดยเน้นที่ 3
คอลัมน์ด้านหลัง คือ r.drop
ซึ่งเป็นค่าสหสัมพันธ์ระหว่างข้อคำถามและคะแนนรวมของข้ออื่น (Corrected Item Total
Correlation; CITC), ค่าเฉลี่ย (mean
), และส่วนเบี่ยงเบนมาตรฐาน
(sd
)Non missing response frequency for each item
เป็นการตรวจสอบตัวเลือกแต่ละตัวเลือกของแต่ละข้อ
พร้อมทั้งตรวจสอบด้วยว่าแต่ละข้อมีข้อมูลสูญหายเท่าไรเมื่อตรวจสอบค่า CITC แล้ว จะพบว่าทุกข้อมีค่าสูงกว่า .2 ซึ่งถือว่าทุกข้อในมาตรนี้ ค่อนข้างสอดคล้องไปในทางเดียวกัน ซึ่งสะท้อนให้เห็นในค่าอัลฟ่า ที่มีค่าถึง .88 อย่างไรก็ตาม เพื่อสาธิตการคัดข้อคำถามด้วย CITC จะตัดข้อคำถามในมาตรนี้ออกไป 5 ข้อ ให้เหลือ 5 ข้อ
เมื่อตรวจสอบค่า CITC ของทั้ง 10 ข้อ พบว่าข้อที่ 7 มีค่า CITC ต่ำที่สุด
จึงตัดข้อคำถามดังกล่าว วิธีการติดตามการตัดข้อคำถามที่ง่ายที่สุด คือ การตัดข้อผ่านคำสั่ง
setdiff
โดยนำชื่อข้อคำถามไปใส่เป็น argument ที่ 1
แล้วนำชื่อข้อคำถามที่จะตัดออกไปใส่ใน argument ที่ 2
ผลลัพธ์จะเป็นรายชื่อข้อคำถามที่คัดข้อทิ้งแล้ว กล่าวคือ จะเหลือข้อ 1, 2, 3, 4, 5, 6, 8, 9,
10 นำผลลัพธ์ทั้ง 9 ข้อไปหา CITC อีกรอบหนึ่ง
itemname1 <- setdiff(itemname, "EMO07")
itemname1
## [1] "EMO01" "EMO02" "EMO03" "EMO04" "EMO05" "EMO06" "EMO08" "EMO09" "EMO10"
alpha(dat[,itemname1])
##
## Reliability analysis
## Call: alpha(x = dat[, itemname1])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.88 0.88 0.9 0.45 7.3 0.013 3 0.88 0.37
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.85 0.88 0.9
## Duhachek 0.85 0.88 0.9
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## EMO01 0.86 0.87 0.89 0.45 6.5 0.015 0.027 0.37
## EMO02 0.87 0.87 0.89 0.45 6.6 0.015 0.027 0.37
## EMO03 0.86 0.86 0.88 0.44 6.4 0.015 0.023 0.37
## EMO04 0.86 0.86 0.88 0.43 6.1 0.016 0.023 0.36
## EMO05 0.86 0.86 0.88 0.43 6.1 0.016 0.024 0.35
## EMO06 0.87 0.87 0.89 0.46 6.7 0.014 0.027 0.38
## EMO08 0.87 0.87 0.89 0.46 6.9 0.014 0.023 0.38
## EMO09 0.86 0.86 0.88 0.44 6.4 0.015 0.026 0.35
## EMO10 0.87 0.87 0.89 0.45 6.5 0.015 0.027 0.38
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## EMO01 200 0.72 0.71 0.66 0.62 3.0 1.3
## EMO02 200 0.70 0.69 0.63 0.59 2.9 1.3
## EMO03 200 0.74 0.73 0.71 0.65 2.9 1.3
## EMO04 200 0.77 0.77 0.75 0.71 3.0 1.1
## EMO05 200 0.78 0.77 0.76 0.70 3.0 1.2
## EMO06 200 0.66 0.67 0.62 0.56 3.0 1.2
## EMO08 200 0.63 0.64 0.60 0.53 3.1 1.2
## EMO09 200 0.73 0.73 0.71 0.63 3.0 1.3
## EMO10 200 0.68 0.70 0.66 0.60 3.1 1.1
##
## Non missing response frequency for each item
## 1 2 3 4 5 miss
## EMO01 0.17 0.20 0.27 0.21 0.16 0
## EMO02 0.16 0.28 0.16 0.27 0.14 0
## EMO03 0.24 0.10 0.30 0.23 0.12 0
## EMO04 0.10 0.24 0.26 0.32 0.07 0
## EMO05 0.10 0.28 0.25 0.20 0.16 0
## EMO06 0.16 0.14 0.31 0.33 0.06 0
## EMO08 0.08 0.28 0.22 0.32 0.10 0
## EMO09 0.12 0.36 0.14 0.20 0.17 0
## EMO10 0.07 0.28 0.22 0.38 0.06 0
ตรวจสอบค่า CITC อีกครั้ง พบว่าข้อที่ 8 ต่ำที่สุด นำข้อดังกล่าวออก แล้วหา CITC ของ 8 ข้อที่เหลือ
itemname2 <- setdiff(itemname1, "EMO08")
alpha(dat[,itemname2])
##
## Reliability analysis
## Call: alpha(x = dat[, itemname2])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.87 0.87 0.89 0.46 6.9 0.014 3 0.9 0.38
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.84 0.87 0.9
## Duhachek 0.85 0.87 0.9
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## EMO01 0.86 0.86 0.88 0.46 6.0 0.016 0.026 0.37
## EMO02 0.86 0.86 0.88 0.47 6.1 0.016 0.025 0.37
## EMO03 0.85 0.85 0.87 0.45 5.8 0.017 0.021 0.37
## EMO04 0.85 0.85 0.86 0.44 5.6 0.017 0.020 0.37
## EMO05 0.85 0.85 0.86 0.44 5.6 0.017 0.021 0.36
## EMO06 0.87 0.87 0.88 0.49 6.6 0.014 0.023 0.54
## EMO09 0.86 0.86 0.87 0.47 6.3 0.015 0.024 0.54
## EMO10 0.86 0.86 0.87 0.48 6.4 0.015 0.024 0.54
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## EMO01 200 0.74 0.74 0.69 0.64 3.0 1.3
## EMO02 200 0.72 0.71 0.65 0.61 2.9 1.3
## EMO03 200 0.78 0.77 0.74 0.69 2.9 1.3
## EMO04 200 0.80 0.80 0.78 0.73 3.0 1.1
## EMO05 200 0.80 0.80 0.78 0.73 3.0 1.2
## EMO06 200 0.63 0.64 0.58 0.52 3.0 1.2
## EMO09 200 0.69 0.69 0.65 0.57 3.0 1.3
## EMO10 200 0.66 0.67 0.62 0.56 3.1 1.1
##
## Non missing response frequency for each item
## 1 2 3 4 5 miss
## EMO01 0.17 0.20 0.27 0.21 0.16 0
## EMO02 0.16 0.28 0.16 0.27 0.14 0
## EMO03 0.24 0.10 0.30 0.23 0.12 0
## EMO04 0.10 0.24 0.26 0.32 0.07 0
## EMO05 0.10 0.28 0.25 0.20 0.16 0
## EMO06 0.16 0.14 0.31 0.33 0.06 0
## EMO09 0.12 0.36 0.14 0.20 0.17 0
## EMO10 0.07 0.28 0.22 0.38 0.06 0
ตรวจสอบค่า CITC อีกครั้ง พบว่าข้อที่ 6 ต่ำที่สุด นำข้อดังกล่าวออก แล้วหา CITC ของ 7 ข้อที่เหลือ
itemname3 <- setdiff(itemname2, "EMO06")
alpha(dat[,itemname3])
##
## Reliability analysis
## Call: alpha(x = dat[, itemname3])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.87 0.87 0.88 0.49 6.6 0.014 3 0.94 0.54
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.84 0.87 0.89
## Duhachek 0.84 0.87 0.90
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## EMO01 0.85 0.85 0.86 0.48 5.6 0.017 0.027 0.39
## EMO02 0.85 0.85 0.87 0.49 5.8 0.017 0.027 0.39
## EMO03 0.84 0.84 0.85 0.47 5.3 0.018 0.022 0.39
## EMO04 0.84 0.84 0.85 0.46 5.1 0.018 0.020 0.39
## EMO05 0.83 0.84 0.85 0.46 5.1 0.018 0.021 0.37
## EMO09 0.87 0.87 0.86 0.52 6.5 0.014 0.022 0.55
## EMO10 0.87 0.87 0.86 0.52 6.6 0.015 0.021 0.55
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## EMO01 200 0.76 0.76 0.70 0.66 3.0 1.3
## EMO02 200 0.74 0.73 0.67 0.63 2.9 1.3
## EMO03 200 0.81 0.80 0.77 0.71 2.9 1.3
## EMO04 200 0.83 0.83 0.81 0.76 3.0 1.1
## EMO05 200 0.83 0.83 0.81 0.75 3.0 1.2
## EMO09 200 0.65 0.65 0.59 0.50 3.0 1.3
## EMO10 200 0.62 0.64 0.57 0.51 3.1 1.1
##
## Non missing response frequency for each item
## 1 2 3 4 5 miss
## EMO01 0.17 0.20 0.27 0.21 0.16 0
## EMO02 0.16 0.28 0.16 0.27 0.14 0
## EMO03 0.24 0.10 0.30 0.23 0.12 0
## EMO04 0.10 0.24 0.26 0.32 0.07 0
## EMO05 0.10 0.28 0.25 0.20 0.16 0
## EMO09 0.12 0.36 0.14 0.20 0.17 0
## EMO10 0.07 0.28 0.22 0.38 0.06 0
ตรวจสอบค่า CITC อีกครั้ง พบว่าข้อที่ 9 ต่ำที่สุด นำข้อดังกล่าวออก แล้วหา CITC ของ 6 ข้อที่เหลือ
itemname4 <- setdiff(itemname3, "EMO09")
alpha(dat[,itemname4])
##
## Reliability analysis
## Call: alpha(x = dat[, itemname4])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.87 0.87 0.86 0.52 6.5 0.014 3 0.96 0.55
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.84 0.87 0.89
## Duhachek 0.84 0.87 0.90
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## EMO01 0.85 0.84 0.83 0.52 5.4 0.017 0.0280 0.56
## EMO02 0.85 0.85 0.84 0.53 5.5 0.016 0.0289 0.56
## EMO03 0.83 0.83 0.82 0.50 5.0 0.018 0.0212 0.54
## EMO04 0.83 0.82 0.81 0.48 4.7 0.019 0.0193 0.54
## EMO05 0.83 0.83 0.81 0.49 4.7 0.019 0.0206 0.54
## EMO10 0.89 0.89 0.87 0.61 7.9 0.013 0.0055 0.58
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## EMO01 200 0.79 0.78 0.72 0.67 3.0 1.3
## EMO02 200 0.77 0.76 0.69 0.65 2.9 1.3
## EMO03 200 0.83 0.82 0.80 0.73 2.9 1.3
## EMO04 200 0.85 0.86 0.84 0.78 3.0 1.1
## EMO05 200 0.85 0.85 0.83 0.77 3.0 1.2
## EMO10 200 0.55 0.58 0.43 0.40 3.1 1.1
##
## Non missing response frequency for each item
## 1 2 3 4 5 miss
## EMO01 0.17 0.20 0.27 0.21 0.16 0
## EMO02 0.16 0.28 0.16 0.27 0.14 0
## EMO03 0.24 0.10 0.30 0.23 0.12 0
## EMO04 0.10 0.24 0.26 0.32 0.07 0
## EMO05 0.10 0.28 0.25 0.20 0.16 0
## EMO10 0.07 0.28 0.22 0.38 0.06 0
ตรวจสอบค่า CITC อีกครั้ง พบว่าข้อที่ 10 ต่ำที่สุด นำข้อดังกล่าวออก แล้วหา CITC ของ 5 ข้อที่เหลือ
itemname5 <- setdiff(itemname4, "EMO10")
alpha(dat[,itemname5])
##
## Reliability analysis
## Call: alpha(x = dat[, itemname5])
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.89 0.89 0.87 0.61 7.9 0.013 3 1.1 0.58
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.86 0.89 0.91
## Duhachek 0.86 0.89 0.91
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## EMO01 0.87 0.88 0.85 0.64 7.1 0.015 0.0066 0.64
## EMO02 0.88 0.88 0.85 0.65 7.4 0.014 0.0058 0.67
## EMO03 0.86 0.86 0.83 0.60 6.1 0.017 0.0046 0.58
## EMO04 0.85 0.85 0.82 0.58 5.6 0.018 0.0049 0.56
## EMO05 0.85 0.85 0.82 0.59 5.8 0.017 0.0038 0.57
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## EMO01 200 0.80 0.79 0.72 0.67 3.0 1.3
## EMO02 200 0.78 0.78 0.69 0.65 2.9 1.3
## EMO03 200 0.85 0.84 0.80 0.75 2.9 1.3
## EMO04 200 0.87 0.88 0.85 0.79 3.0 1.1
## EMO05 200 0.86 0.86 0.83 0.77 3.0 1.2
##
## Non missing response frequency for each item
## 1 2 3 4 5 miss
## EMO01 0.17 0.20 0.27 0.21 0.16 0
## EMO02 0.16 0.28 0.16 0.27 0.14 0
## EMO03 0.24 0.10 0.30 0.23 0.12 0
## EMO04 0.10 0.24 0.26 0.32 0.07 0
## EMO05 0.10 0.28 0.25 0.20 0.16 0
การตัดข้อออก 5 ข้อเรียบร้อยแล้ว จะเห็นว่าข้อที่เหลือ จะเป็นข้อทางบวกทั้งหมด ข้อทางลบถูกคัดทิ้งออกทั้งหมด ความจริงเป็นคุณลักษณะที่ไม่พึงประสงค์ เพราะว่าความตรงเชิงเนื้อหา (Content Validity) จะตกลง (แม้ความเที่ยงสูงขึ้น) แต่กรณีนี้ทำเพื่อเป็นการสาธิตให้เห็นกระบวนการคัดข้อคำถามผ่าน CITC เท่านั้น