การวิเคราะห์รายการสำหรับมือใหม่ R


12

ฉันพยายามประเมินการทดสอบตัวเลือกหลายรายการ 20 ข้อ ฉันต้องการทำการวิเคราะห์รายการเช่นสามารถพบได้ในตัวอย่างนี้ ดังนั้นสำหรับคำถามแต่ละข้อฉันต้องการค่า P และค่าสหสัมพันธ์กับผลรวมและการกระจายตัวเลือกที่เลือก

ฉันไม่รู้อะไรเกี่ยวกับแพคเกจซอฟต์แวร์ทางสถิติที่หลากหลาย แต่ฉันต้องการใช้ R เนื่องจากฉันพอใจกับการเขียนโปรแกรมและ R เป็นโอเพ่นซอร์ส หลอกเวิร์กโฟลว์ที่ฉันจินตนาการคือ:

  1. เตรียมข้อมูลใน excel และส่งออกเป็น CSV

  2. โหลดข้อมูลใน R

  3. โหลดแพ็คเกจที่ทำในสิ่งที่ฉันต้องการ

  4. รันคำสั่งของแพ็คเกจนั้น

  5. ส่งออกและรายงาน

ฉันมั่นใจกับ 1 และ 2 แต่มีปัญหากับ 3 อาจเป็นเพราะฉันไม่มีคำศัพท์เชิงสถิติเพื่อเปรียบเทียบแพ็กเกจที่ฉันเรียกดูบน CRAN ltmดูเหมือนว่าจะเป็นแพ็คเกจที่ถูกต้อง แต่ฉันก็บอกไม่ได้ แพคเกจใดที่ใช้คำสั่งจะเป็นอย่างไร

คำถามด้านข้าง: ในตัวอย่างที่เชื่อมโยงคุณคิดว่า MC และ MI จะทำอะไร

คำตอบ:


11

ฉันสามารถแนะนำคุณอย่างน้อยสองแพ็คเกจที่อนุญาตให้ทำงานเหล่านี้: psych ( score.items) และltm ( descript) CTTแพคเกจดูเหมือนยังกระบวนการ MCQ แต่ผมมีประสบการณ์กับมันไม่มี ข้อมูลเพิ่มเติมสามารถพบได้ในเว็บไซต์ของ W Revelle, โครงการบุคลิกภาพ , esp. หน้าเฉพาะสำหรับpsychometrics ด้วย Rซึ่งมีคำแนะนำทีละขั้นตอนสำหรับการนำเข้าวิเคราะห์และรายงานข้อมูล นอกจากนี้มุมมองงาน CRAN บนPsychometricsยังมีแหล่งข้อมูลเพิ่มเติมอีกมากมาย

ตามที่อธิบายไว้ในลิงก์ของคุณ MC หมายถึง "คะแนนรวมเฉลี่ยของบุคคลที่ตอบรายการด้วยการตอบที่ถูกต้อง" และ MI สำหรับ "คะแนนรวมเฉลี่ยของบุคคลที่ไม่ตอบรายการด้วยการตอบที่ถูกต้อง" จุดที่มีความสัมพันธ์แบบจุด (R) นั้นมีอยู่ในltmแพ็คเกจ ( biserial.cor) นี่เป็นตัวบ่งชี้ความสามารถในการแยกแยะของรายการ (เนื่องจากเป็นความสัมพันธ์ของรายการและคะแนนรวม) และเกี่ยวข้องกับพารามิเตอร์การเลือกปฏิบัติของแบบจำลอง 2-PL IRT หรือการโหลดปัจจัยในการวิเคราะห์ปัจจัย

หากคุณต้องการสร้างตารางที่คุณแสดงซ้ำฉันคิดว่าคุณจะต้องห่อโค้ดนี้ด้วยโค้ดที่กำหนดเองอย่างน้อยก็เพื่อส่งออกตารางชนิดเดียวกัน ฉันทำตัวอย่างที่รวดเร็วและสกปรกซึ่งทำให้โต๊ะของคุณซ้ำ:

dat <- replicate(10, sample(LETTERS[1:4], 100, rep=TRUE))
dat[3,2] <- dat[67,5] <- NA
itan(dat)

         P      R    MC    MI NC OMIT  A  B  C  D
 [1,] 0.23 -0.222 2.870 2.169 23    0 23 22 32 23
 [2,] 0.32 -0.378 3.062 1.985 32    1 32 20 14 33
 [3,] 0.18 -0.197 2.889 2.207 18    0 18 33 22 27
 [4,] 0.33 -0.467 3.212 1.896 33    0 33 18 29 20
 [5,] 0.27 -0.355 3.111 2.056 27    1 27 23 23 26
 [6,] 0.17 -0.269 3.118 2.169 17    0 17 25 25 33
 [7,] 0.21 -0.260 3.000 2.152 21    0 21 24 25 30
 [8,] 0.24 -0.337 3.125 2.079 24    0 24 32 22 22
 [9,] 0.13 -0.218 3.077 2.218 13    0 13 29 33 25
[10,] 0.25 -0.379 3.200 2.040 25    0 25 25 31 19

เนื่องจากสิ่งเหล่านี้เป็นการตอบสนองแบบสุ่มความสัมพันธ์แบบ biserial และความยากลำบากของรายการจึงไม่มีความหมายมากนัก (ยกเว้นเพื่อตรวจสอบว่าข้อมูลนั้นสุ่มอย่างแท้จริง :) นอกจากนี้มันก็คุ้มที่จะตรวจสอบข้อผิดพลาดที่เป็นไปได้เนื่องจากฉันร่างฟังก์ชัน R ใน 10 '...


1
ขอบคุณสำหรับสิ่งนี้! ฉันกำลังอ่านโค้ดของคุณและมันช่วยให้ฉันเข้าใจไวยากรณ์ R ได้มาก freq.resp <- raw.resp/apply(raw.resp, 1, sum, na.rm=T)สิ่งหนึ่งที่ทำให้ปัญหาผมคือเส้น ข้อผิดพลาดคือ "สลัว (X) ต้องมีความยาวเป็นบวก" ในขณะที่สลัว (raw.resp) เป็น NULL อาจเป็นเพราะข้อมูลของฉันไม่มีตัวเลือกทั้งหมดที่มีความถี่เป็นบวกตารางของฉันจึงไม่ได้มีความยาวเท่ากันทั้งหมด ฉันจะเติมเลขศูนย์ลงในtableคำร้องขอของฉันได้อย่างไร?
Matthew Leingang

@ Matewew ใช่เป็นไปได้มากว่านี่เป็นสาเหตุของปัญหา (แน่นอนว่าคุณกำลังเรียนรู้ R อย่างรวดเร็วฉันขอขอบคุณ) ดังนั้นหากไม่พบหมวดหมู่การตอบกลับหนึ่งรายการขึ้นไปความยาวของตารางจะเท่ากับ <4 และfreq.respจะเกิดข้อผิดพลาด ฉันจะแก้ไขรหัส (ในวันพรุ่งนี้) สิ่งนี้จะแสดงวิธีการเชื่อมตารางที่ผิดปกติเข้าด้วยกันด้วยรหัสเล็กน้อย
chl

@ Matewew ฉันได้เพิ่มการแก้ไข ควรทำงานกับรายการที่มีขั้วต่อกันเช่นกัน แจ้งให้เราทราบว่าตอนนี้ใช้ได้ไหม gist.github.com/642219
CHL

ขอบคุณมากสำหรับการจับมือฉัน ฟังก์ชั่นของคุณทำให้ฉันมีข้อผิดพลาด: "ข้อผิดพลาดใน raw.resp [i, ชื่อ (tmp)] <- tmp: ตัวห้อยนอกขอบเขต" แต่แปลกมากพอฉันสามารถเรียกใช้แต่ละบรรทัดของฟังก์ชันได้โดยไม่มีปัญหา ดังนั้นฉันจึงมีรายงานการทำงาน
Matthew Leingang

ฉันใช้โค้ดนี้แล้วและฉันคิดว่าเครื่องหมายทั้งหมดในแถว R (ความสัมพันธ์เชิงเส้นจุด) อาจจะกลับด้านได้
user1205901 - Reinstate Monica

8

ฟังก์ชั่นแพคเกจโรคจิตอัลฟาผลิตสิ่งที่คุณกำลังมองหา

ในการส่งออกสิ่งนี้ให้บันทึกวัตถุและใช้ฟังก์ชั่น xtable เพื่อสร้างมาร์กอัป LaTeX ซึ่งสามารถจัดรูปแบบโดยเครื่องมือแก้ไข LaTeX ใด ๆ


1
(+1) psych::alphaทำงานได้ดีกว่าscore.itemsขอบคุณที่เพิ่มเข้าไป ฉันไม่เคยจำสิ่งที่ฉันควรใช้!
chl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.