R acemi için Öğe Analizi


12

20 maddelik çok noktalı seçim testini değerlendirmeye çalışıyorum. Bu örnekte bulunabilecek gibi bir madde analizi yapmak istiyorum . Bu yüzden her soru için P-değeri ve toplamla korelasyonu ve seçilen seçeneklerin dağılımını istiyorum.

Orada çeşitli istatistiksel yazılım paketleri hakkında hiçbir şey bilmiyorum, ama programlama konusunda rahat olduğum ve R açık kaynak olduğu için R'yi kullanmak istiyorum. Öngörülen sözde iş akışı:

  1. Excel'de veri hazırlama ve CSV'ye aktarma

  2. R'de veri yükle

  3. ihtiyacım olanı yapan bir paket yükle

  4. bu paketin komutlarını çalıştır

  5. ihracat ve rapor.

1 ve 2'den eminim, ancak 3 ile ilgili sorun yaşıyorum, muhtemelen CRAN'a göz attığım paketleri karşılaştırmak için istatistiksel kelime dağarcığım yok. ltmdoğru paket olabilir gibi görünüyor ama söyleyemem. Hangi paket kullanılırsa kullanılsın, komutlar ne olurdu?

Yan soru: bağlantılı örnekte, MC ve MI'nın neyi temsil ettiğini düşünüyorsunuz?

Yanıtlar:


11

Bu görevleri gerçekleştirmenize izin veren en az iki paket önerebilirim: psych ( score.items) ve ltm ( descript). CTT paket süreci ÜBÖ da görünüyor ama onunla hiçbir deneyimim var. Daha fazla bilgi W Revelle'nin web sitesinde, Kişilik Projesi , esp. verileri içe aktarmak, analiz etmek ve raporlamak için adım adım talimatlar sağlayan R ile psikometriye adanmış sayfa . Ayrıca, CRAN Psikometri Görev Görünümü birçok ek kaynak içerir.

Bağlantınızda açıklandığı gibi MC, "öğeyi doğru yanıtla yanıtlayan kişilerin ortalama toplam ham puanı" ve "Öğeyi doğru yanıtla yanıt vermeyen kişilerin ortalama toplam puanı" anlamına gelir. Nokta-biseriyal korelasyon (R (IT)) ayrıca ltmpakette ( biserial.cor) mevcuttur. Bu temel olarak öğenin ayrımcılık gücünün bir göstergesidir (madde ve toplam puanın korelasyonu olduğu için) ve 2-PL IRT modelinin ayrım parametresi veya Faktör Analizindeki faktör yükü ile ilgilidir.

Gösterdiğiniz tabloyu gerçekten yeniden oluşturmak istiyorsanız, sanırım bu kodun bir kısmını özel kodla sarmanız gerekecek, en azından aynı tür tablo çıktısı almak için. Masanızı yeniden üreten hızlı ve kirli bir örnek yaptım :

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

Bunlar rastgele yanıtlar olduğundan, biseriyel korelasyon ve madde zorluğu çok anlamlı değildir (verilerin gerçekten rastgele olup olmadığını kontrol etmek hariç :). Ayrıca, 10'da R işlevini hazırladığım için olası hataları kontrol etmeye değer ...


1
Bunun için teşekkürler! Kodunuzu okuyorum ve R sözdizimini çok anlamaya yardımcı oluyor. Bana sorun çıkartan bir şey çizgi freq.resp <- raw.resp/apply(raw.resp, 1, sum, na.rm=T). Hata, dim (raw.resp) NULL iken "dim (X) pozitif uzunluğa sahip olması" dır. Verilerim pozitif frekanslı tüm seçeneklere sahip olmadığından, tablolarımın uzunluğu aynı olmayabilir mi? Çağrımdaki sıfırları nasıl doldurabilirim table?
Matthew Leingang

@Matthew Evet, bu muhtemelen sorunun kaynağıdır (R'yi hızlı bir şekilde öğreniyorsunuz, takdir ediyorum). Dolayısıyla, bir veya daha fazla öğe için bir yanıt kategorisi gözlenmezse, tablonun uzunluğu <4 olur ve freq.respbir hata atar. Kodu (yarına kadar) düzeltirim, bu da düzensiz tabloları küçük kodlarla nasıl birleştireceğinizi gösterecektir.
chl

@Matthew Bir düzeltme ekledim. İkili ürünlerle de çalışmalı. Bunun iyi olup olmadığını bana bildirin. gist.github.com/642219
chl

Elimi tuttuğun için çok teşekkürler. İşlevin bana bir hata veriyor: "raw.resp hatası [i, names (tmp)] <- tmp: alt sınırların dışında", ancak garip bir şekilde, işlevin her satırını sorunsuz çalıştırabilirim. Bu yüzden çalışan bir raporum var.
Matthew Leingang

Ben bu kodu uyguluyorum ve ben satır R (nokta biseriyel korelasyon) tüm işaretler ters olabilir düşünüyorum.
user1205901 - Monica'yı

8

Psych package işlevi alpha aradığınızı üretir.

Bunu dışa aktarmak için, nesneyi kaydedin ve LaTeX işaretlemesi üretmek için xtable işlevini kullanın; bu işlev daha sonra herhangi bir LaTeX düzenleyicisi tarafından biçimlendirilebilir.


1
(+1) psych::alphadaha iyi bir iş çıkarır score.items, bunu eklediğiniz için teşekkürler. Kullanmam gerektiğini hatırlamıyorum!
chl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.