Phân tích vật phẩm cho người mới chơi R


12

Tôi đang cố gắng đánh giá một bài kiểm tra đa lựa chọn gồm 20 mục. Tôi muốn thực hiện một phân tích mục như có thể được tìm thấy trong ví dụ này . Vì vậy, đối với mỗi câu hỏi, tôi muốn giá trị P và mối tương quan với tổng số và phân phối các tùy chọn đã chọn.

Tôi không biết gì về các gói phần mềm thống kê khác nhau ngoài kia, nhưng tôi muốn sử dụng R vì tôi thấy thoải mái với lập trình và R là nguồn mở. Quy trình làm việc giả mà tôi hình dung là:

  1. chuẩn bị dữ liệu trong excel và xuất sang CSV

  2. tải dữ liệu trong R

  3. tải một gói làm những gì tôi cần

  4. thực hiện các lệnh của gói đó

  5. xuất khẩu và báo cáo.

Tôi tự tin với 1 và 2 nhưng gặp rắc rối với 3, có lẽ vì tôi không có từ vựng thống kê để so sánh các gói tôi đã duyệt trên CRAN. ltmCó vẻ như nó có thể là gói phù hợp nhưng tôi không thể nói. Bất cứ gói nào được sử dụng, các lệnh sẽ là gì?

Câu hỏi phụ: trong ví dụ được liên kết, bạn cho rằng MC và MI đại diện cho điều gì?

Câu trả lời:


11

Tôi có thể đề nghị bạn ít nhất hai gói cho phép thực hiện các tác vụ này: psych ( score.items) và ltm ( descript). Các CTT gói cũng dường như quá trình MCQ nhưng tôi không có kinh nghiệm với nó. Thông tin chi tiết có thể được tìm thấy trên trang web của W Revelle, The Personal Project , đặc biệt. trang dành riêng cho tâm lý học với R cung cấp các hướng dẫn từng bước để nhập, phân tích và báo cáo dữ liệu. Ngoài ra, Chế độ xem nhiệm vụ CRAN trên Tâm lý học bao gồm nhiều tài nguyên bổ sung.

Như được mô tả trong liên kết của bạn, MC là viết tắt của "Trung bình tổng số điểm của những người trả lời câu trả lời đúng" và MI cho "Tổng số điểm trung bình của những người không trả lời đúng với câu trả lời đúng." Tương quan điểm-biserial (R (IT)) cũng có sẵn trong ltmgói ( biserial.cor). Về cơ bản, đây là một chỉ số về khả năng phân biệt đối xử của vật phẩm (vì nó là mối tương quan của vật phẩm và tổng điểm) và có liên quan đến thông số phân biệt đối xử của mô hình IRT 2-PL hoặc tải nhân tố trong Phân tích nhân tố.

Nếu bạn thực sự muốn sao chép bảng bạn hiển thị, tôi đoán bạn sẽ phải bọc một số mã này bằng mã tùy chỉnh, ít nhất là để xuất cùng loại bảng. Tôi đã tạo một ví dụ nhanh và bẩn tái tạo bảng của bạn:

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

Vì đây là những phản hồi ngẫu nhiên, tương quan biserial và độ khó của vật phẩm không có ý nghĩa lắm (ngoại trừ việc kiểm tra dữ liệu có thực sự ngẫu nhiên :). Ngoài ra, cũng đáng để kiểm tra các lỗi có thể xảy ra, vì tôi đã phác thảo hàm R trong 10 '...


1
Cảm ơn vì điều đó! Tôi đang đọc mã của bạn và nó giúp tôi tìm ra cú pháp R rất nhiều. Một điều khiến tôi gặp rắc rối là đường dây freq.resp <- raw.resp/apply(raw.resp, 1, sum, na.rm=T). Lỗi là "dim (X) phải có độ dài dương" trong khi dim (raw.resp) là NULL. Có thể là do dữ liệu của tôi không có tất cả các tùy chọn có tần số dương, nên các bảng của tôi không có cùng độ dài? Làm thế nào tôi có thể điền vào các số không trong tablelời mời của tôi ?
Matthew Leingang

@Matthew Vâng, rất có khả năng đây thực sự là nguồn gốc của vấn đề (tốt, bạn đang học R nhanh chóng, tôi đánh giá cao). Vì vậy, nếu một loại phản hồi không được quan sát cho một hoặc nhiều mục, thì độ dài của bảng sẽ <4 và freq.respsẽ gây ra lỗi. Tôi sẽ sửa mã (vào ngày mai), điều này cũng sẽ chỉ cho bạn cách nối các bảng không đều với ít mã.
chl

@Matthew Tôi đã thêm một bản sửa lỗi. Nên làm việc với các mục nhị phân quá. Hãy cho tôi biết nếu bây giờ là ok. gist.github.com/642219
chl

Cảm ơn rất nhiều vì đã nắm tay tôi. Hàm của bạn cung cấp cho tôi một lỗi: "Lỗi trong raw.resp [i, tên (tmp)] <- tmp: đăng ký ngoài giới hạn", nhưng thật kỳ lạ, tôi có thể chạy từng dòng của hàm mà không gặp vấn đề gì. Vì vậy, tôi có một báo cáo làm việc.
Matthew Leingang

Tôi đã áp dụng mã này và tôi nghĩ rằng tất cả các dấu hiệu trên hàng R (tương quan biserial điểm) có thể được đảo ngược.
user1205901 - Phục hồi Monica

8

Chức năng gói tâm lý alpha tạo ra những gì bạn đang tìm kiếm.

Để xuất cái này, lưu đối tượng và sử dụng hàm xtable để tạo đánh dấu LaTeX, sau đó có thể được định dạng bởi bất kỳ trình soạn thảo LaTeX nào.


1
(+1) psych::alphathực hiện công việc tốt hơn score.items, cảm ơn vì đã thêm điều đó. Tôi không bao giờ nhớ cái tôi nên sử dụng!
chl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.