การวิเคราะห์ปัจจัยใน R
Jennifer Brussow
Psychometrician
สร้างข้อคำถามสำหรับตัววัด
เก็บข้อมูลนำร่องจากกลุ่มตัวอย่างที่เป็นตัวแทน
ตรวจสอบลักษณะของชุดข้อมูล
พิจารณาว่าจะใช้ EFA, CFA หรือทั้งสองอย่าง
หากใช้ทั้งสองอย่าง ให้แบ่งกลุ่มตัวอย่างเป็นสองส่วนแบบสุ่ม
เปรียบเทียบสองกลุ่มตัวอย่างเพื่อให้แน่ใจว่ามีความคล้ายคลึงกัน
สร้างข้อคำถามสำหรับตัววัด
เก็บข้อมูลนำร่องจากกลุ่มตัวอย่างที่เป็นตัวแทน
ตรวจสอบลักษณะของชุดข้อมูล
library(psych)
describe(gcbs)
vars n mean sd median trimmed mad min max range skew ...
Q1 1 2495 3.47 1.46 4 3.59 1.48 0 5 5 -0.55 ...
Q2 2 2495 2.96 1.49 3 2.96 1.48 0 5 5 -0.01 ...
Q3 3 2495 2.05 1.39 1 1.82 0.00 0 5 5 0.98 ...
Q4 4 2495 2.64 1.45 2 2.55 1.48 0 5 5 0.26 ...
Q5 5 2495 3.25 1.47 4 3.32 1.48 0 5 5 -0.35 ...
...
Q11 11 2495 3.27 1.40 4 3.34 1.48 0 5 5 -0.35 ...
Q12 12 2495 2.64 1.50 2 2.56 1.48 0 5 5 0.29 ...
Q13 13 2495 2.10 1.38 1 1.89 0.00 0 5 5 0.89 ...
Q14 14 2495 2.96 1.49 3 2.95 1.48 0 5 5 -0.02 ...
Q15 15 2495 4.23 1.10 5 4.47 0.00 0 5 5 -1.56 ...
สร้างข้อคำถามสำหรับตัววัด
เก็บข้อมูลนำร่องจากกลุ่มตัวอย่างที่เป็นตัวแทน
ตรวจสอบลักษณะของชุดข้อมูล
พิจารณาว่าจะใช้การวิเคราะห์เชิงสำรวจ (EFA) การวิเคราะห์เชิงยืนยัน (CFA) หรือทั้งสองอย่าง
หากใช้ทั้งสองอย่าง ให้แบ่งกลุ่มตัวอย่างเป็นสองส่วนแบบสุ่ม
N <- nrow(gcbs)
indices <- seq(1, N)
indices_EFA <- sample(indices, floor((0.5 * N)))
indices_CFA <- indices[!(indices %in% indices_EFA)]
gcbs_EFA <- gcbs[indices_EFA, ]
gcbs_CFA <- gcbs[indices_CFA, ]
สร้างข้อคำถามสำหรับตัววัด
เก็บข้อมูลนำร่องจากกลุ่มตัวอย่างที่เป็นตัวแทน
ตรวจสอบลักษณะของชุดข้อมูล
พิจารณาว่าจะใช้ EFA, CFA หรือทั้งสองอย่าง
หากใช้ทั้งสองอย่าง ให้แบ่งกลุ่มตัวอย่างเป็นสองส่วนแบบสุ่ม
เปรียบเทียบสองกลุ่มตัวอย่างเพื่อให้แน่ใจว่ามีความคล้ายคลึงกัน
group_var <- vector("numeric", nrow(gcbs))
group_var[indices_EFA] <- 1
group_var[indices_CFA] <- 2
group_var
[1] 2 1 2 2 1 2 1 1 2 2 2 1 2 2 1 1 2 1 1 1 1 2 1 1 2 1 1 1 2 2
[31] 2 2 2 1 2 2 2 1 2 2 2 1 1 1 2 2 2 2 1 2 2 1 1 2 2 2 2 2 2 2
[61] 2 1 2 1 2 2 1 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 2 2
[91] 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 1 2 2
[121] 2 1 2 2 1 2 2 1 2 2 2 2 1 2 1 1 1 2 2 1 1 1 2 1 1 1 1 2 2 2
[151] 1 1 1 1 2 2 2 2 2 1 2 1 1 2 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 2
[181] 2 1 1 2 2 2 1 1 1 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2
gcbs_grouped <- cbind(gcbs, group_var)
describeBy(gcbs_grouped, group = group_var)
statsBy(gcbs_grouped, group = "group_var")
การวิเคราะห์ปัจจัยใน R