यदि आप वास्तव में इतनी बड़ी संख्या में आइटम के साथ स्टैक्ड बारचर का उपयोग करना चाहते हैं, तो यहां दो संभावित समाधान हैं।
का उपयोग करते हुए irutils
मैं कुछ महीने पहले इस पैकेज में आया था।
के रूप में पर 0573195c07 प्रतिबद्ध Github , कोड एक साथ काम नहीं करेंगे grouping=
तर्क। चलो शुक्रवार के डिबगिंग सत्र के लिए जाते हैं।
Github से एक ज़िपित संस्करण डाउनलोड करके प्रारंभ करें। आपको R/likert.R
फ़ाइल को हैक करने की आवश्यकता होगी , विशेष रूप से likert
और plot.likert
फ़ंक्शन। पहले, में likert
, cast()
का उपयोग किया जाता है, लेकिन reshape
पैकेज कभी लोड नहीं होता है (हालांकि फ़ाइल import(reshape)
में एक निर्देश है NAMESPACE
)। आप इसे पहले से लोड कर सकते हैं। दूसरा, आइटम लेबल लाने के लिए एक गलत निर्देश है, जहां i
लाइन 175 के आसपास झूल रहा है। इसके likert$items[,i]
साथ-साथ सभी घटनाओं को प्रतिस्थापित करके इसे भी ठीक करना होगा likert$items[,1]
। फिर आप पैकेज को अपने मशीन पर करने के लिए उपयोग किए जाने वाले तरीके से इंस्टॉल कर सकते हैं। मेरे मैक पर, मैंने किया
% tar -czf irutils.tar.gz jbryer-irutils-0573195
% R CMD INSTALL irutils.tar.gz
फिर, R के साथ, निम्नलिखित प्रयास करें:
library(irutils)
library(reshape)
# Simulate some data (82 respondents x 66 items)
resp <- data.frame(replicate(66, sample(1:5, 82, replace=TRUE)))
resp <- data.frame(lapply(resp, factor, ordered=TRUE,
levels=1:5,
labels=c("Strongly disagree","Disagree",
"Neutral","Agree","Strongly Agree")))
grp <- gl(2, 82/2, labels=LETTERS[1:2]) # say equal group size for simplicity
# Summarize responses by group
resp.likert <- likert(resp, grouping=grp)
यह सिर्फ काम करना चाहिए, लेकिन वस्तुओं की अधिक संख्या के कारण दृश्य प्रतिपादन भयानक होगा। यह बिना ग्रुपिंग (जैसे plot(likert(resp))
) के काम करता है , हालाँकि।
इस प्रकार मैं आपके डेटासेट को आइटमों के छोटे उपसमुच्चय में कम करने का सुझाव दूंगा। जैसे, 12 आइटम,
plot(likert(resp[,1:12], grouping=grp))
मुझे एक 'पठनीय' स्टैक्ड बारचर मिलता है। आप शायद बाद में उन्हें संसाधित कर सकते हैं। (वे ggplot2
ऑब्जेक्ट हैं, लेकिन आप gridExtra::grid.arrange()
पठनीयता समस्या के कारण उन्हें एक पृष्ठ पर व्यवस्थित नहीं कर पाएंगे !)
दूसरा तरीका
मैं आपका ध्यान एक और पैकेज, एचएच पर आकर्षित करना चाहूंगा , जो कि लिकर तराजू को स्टैक्ड बारचर्ट्स के रूप में बदलने की अनुमति देता है। हम उपरोक्त कोड का पुन: उपयोग कर सकते हैं जैसा कि नीचे दिखाया गया है:
resp.likert <- likert(resp)
detach(package:irutils)
library(HH)
plot.likert(resp.likert$results[,-6]*82/100, main="")
लेकिन यह चीजों को थोड़ा जटिल करेगा क्योंकि हमें आवृत्तियों को गिनती में बदलने की जरूरत है, सबसे पहले likert
है irutils
, द्वारा उत्पादित वस्तु को अलग करना, पैकेज को अलग करना आदि। तो चलिए फिर से ताजा (गणना) आंकड़ों के साथ शुरू करते हैं:
plot.likert(t(apply(resp, 2, table)), main="", as.percent=TRUE,
rightAxisLabels=NULL, rightAxis=NULL, ylab.right="",
positive.order=TRUE)
एक समूह चर का उपयोग करने के लिए, आपको array
संख्यात्मक मानों के साथ काम करने की आवश्यकता होगी ।
# compute responses frequencies separately by grp
resp.array <- array(NA, dim=c(66, 5, 2))
resp.array[,,1] <- t(apply(subset(resp, grp=="A"), 2, table))
resp.array[,,2] <- t(apply(subset(resp, grp=="B"), 2, table))
dimnames(resp.array) <- list(NULL, NULL, group=levels(grp))
plot.likert(resp.array, layout=c(2,1), main="")
यह दो अलग-अलग पैनलों का उत्पादन करेगा, लेकिन यह एक पृष्ठ पर फिट बैठता है।
2016-6-3 संपादित करें
- इस समय तक अलग पैकेज के रूप में उपलब्ध है।
- आप की जरूरत नहीं है नयी आकृति प्रदान पुस्तकालय या दोनों को अलग irutils और आकृति बदलें