आर या एसपीएसएस का उपयोग करके संभावित प्रतिक्रियाओं को विज़ुअलाइज़ करना


19

मेरे पास 2 समूहों में 82 उत्तरदाता हैं (समूह ए में 43 और समूह बी में 39) जिन्होंने 1 से 5 तक प्रत्येक 65 संभावित प्रश्नों का सर्वेक्षण पूरा किया (दृढ़ता से सहमत - दृढ़ता से असहमत)। इसलिए मेरे पास 66 कॉलम (प्रत्येक प्रश्न के लिए 1 + समूह आवंटन का संकेत देने वाला 1) और 82 पंक्तियाँ (प्रत्येक प्रति उत्तरदाता के लिए 1) है।

R या SPSS का उपयोग करना किसी को भी इस डेटा की कल्पना करने का एक अच्छा तरीका नहीं पता है।

मुझे कुछ इस तरह की आवश्यकता है: यहाँ छवि विवरण दर्ज करें
( जेसन ब्रायर से )

लेकिन मुझे काम करने के लिए प्रारंभिक अनुभाग नहीं मिल सकता है। वैकल्पिक रूप से, मुझे वास्तव में अच्छे उदाहरण मिलते हैं कि पिछले क्रॉस वैलिडेटेड पोस्ट से लिकेर्ट डेटा की कल्पना कैसे की जाए: लिकटिंग लिकट आइटम रिस्पॉन्स डेटा लेकिन इन केंद्रित गणना ग्राफ या आर या एसपीएसएस से स्टैक्ड बारचर्ट्स बनाने के लिए कोई गाइड या निर्देश नहीं हैं।


1
हाय एडम, आगे स्पष्ट करने के लिए, क्या आप समूहों के बीच अंतर दिखाने के लिए विज़ुअलाइज़ेशन का उपयोग करना चाहते थे? यदि हां, तो यह एक अनुशंसित तरीका नहीं है।
मिशेल

जेसन ब्रायर्स पैकेज ने मेरे लिए काम करने का उपयोग नहीं किया, लेकिन मुझे लगता है कि उन्होंने इसे अपडेट किया, और यह अभी खूबसूरती से काम कर रहा है। मैंने स्तंभ नामों को विशेषताओं और समूहों के रूप में संग्रहीत करने के लिए एक अतिरिक्त सुविधा के साथ एक पुल-अनुरोध भी जोड़ा। इसका उपयोग करते हुए, मैं आसानी से समूहों में विभाजित एक 45 प्रश्न लिकर्ट प्रश्नावली की कल्पना करने में सक्षम हूं, यहां तक ​​कि अगर मैं चुनता हूं तो दूसरे चर के खिलाफ भी विभाजित हो सकता है। (मैं निट का उपयोग करके आउटपुट करता हूं, इसलिए यह एक वेबसाइट पर बहुत से उप भूखंडों के रूप में समाप्त होता है, एक विशाल भूखंड नहीं)। मैंने यहाँ एक विस्तृत लेखन कार्य किया: reganmian.net/blog/2013/10/02/…
Stian Håklev

सिर्फ FYI करें, आप में से जो लोग भविष्य में इन उत्तरों को पढ़ रहे हैं, उनके लिए ऐसा लगता है कि कुछ डेटा और इस तरह के डेटा की कार्यक्षमता के बारे में कार्यक्षमता को आरकेर्ट आर पैकेज में ले जाया गया है ( यहाँ CRAN देखें )।
जुगनू 2442

लिंक bryer.org/2011/visualizing-likert-items टूटा हुआ प्रतीत होता है। एक सुधार या प्रतिस्थापन का स्वागत किया जाएगा।
निक कॉक्स

1
इस तरह के सवाल - विशिष्ट कोड पर अपने मजबूत फोकस के साथ - 2012 में 2018 में कम स्वागत योग्य था। इसके बावजूद, इसके लिए रुचि रखने वाले किसी भी व्यक्ति के लिए कुछ क्रॉस-रेफरेंस आँकड़े हैं ।stackexchange.com/questions/56322/ … और सांख्यिकी.स्टैकएक्सचेंज.com
निक कॉक्स

जवाबों:


30

यदि आप वास्तव में इतनी बड़ी संख्या में आइटम के साथ स्टैक्ड बारचर का उपयोग करना चाहते हैं, तो यहां दो संभावित समाधान हैं।

का उपयोग करते हुए 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 संपादित करें

  1. इस समय तक अलग पैकेज के रूप में उपलब्ध है।
  2. आप की जरूरत नहीं है नयी आकृति प्रदान पुस्तकालय या दोनों को अलग irutils और आकृति बदलें

अंतिम भूखंड मुझे जनसंख्या पिरामिड की याद दिलाता है। हमें कुछ वास्तविक डेटा प्राप्त करने के लिए यह देखना चाहिए कि वे "वाइल्ड" में कैसे काम करते हैं, कुछ डेटा के साथ जो इतने व्यवस्थित नहीं हैं। मैं मानता हूँ कि वे आंख को पकड़ने और सुंदर हालांकि कर रहे हैं।
एंडी डब्ल्यू

@ और यह वास्तव में मामला है। देखते हैं HH::as.pyramidLikert
chl

1
+1, लाइब्रेरी (HH) निश्चित रूप से जाने का रास्ता है। लेकिन सहमत / असहमत आदि के आदेश में आपके दूसरे आखिरी प्लॉट में कुछ गड़बड़ हो गई है
पीटर एलिस

@PeterEllis Yup, ऐसा लगता है कि प्रतिक्रिया श्रेणियां वास्तव में गलत क्रम में हैं। (डेटा को सारणीबद्ध करते समय लेबल का क्रम खो गया था, और टेबल नामों को लेक्सिकोग्राफ़िक आदेश के बाद व्यवस्थित किया गया है।) एक त्वरित हैक के लिए, हम बस के t(apply(resp, 2, table))साथ बदल सकते हैं t(apply(resp, 2, table))[,levels(resp[,1])]। और आपको भी +1!
CHL

7

मैंने आपके द्वारा बताए गए पोस्ट में कई चार्ट को फिर से बनाने के बारे में एक ब्लॉग पोस्ट लिखना शुरू किया ( एसपीएसएस में आपके द्वारा बताए विज़ुअलाइजिंग लाइक आइटम रिस्पांस डेटा ) में इसलिए मुझे लगता है कि इसे खत्म करने के लिए अच्छी प्रेरणा होगी।

जैसा कि मिशेल नोट करते हैं, यह तथ्य कि आपके पास समूह हैं पिछले प्रश्नों की तुलना में एक नया मोड़ है। और जब समूहों को स्टैक्ड बार ग्राफ़ का उपयोग करके ध्यान में रखा जा सकता है, तो IMO वे chl की मूल पोस्ट में डॉट प्लॉट उदाहरण में बहुत आसानी से शामिल हो जाते हैं। मैंने पोस्ट के अंत में इसे उत्पन्न करने के लिए SPSS कोड को शामिल किया है, अनिवार्य रूप से यह जानकर कि आपके डेटा को उपयुक्त प्रारूप में कैसे फिर से तैयार किया जाए, यह कहा जाता है कि उक्त कथानक उत्पन्न करने के लिए (कोड में प्रदान किया गया एनोटेशन उस कुछ को स्पष्ट करने के लिए)। यहां मैंने दो समूहों से आने वाले बिंदुओं को अलग करने के लिए कुछ निरर्थक एन्कोडिंग (रंग और आकार) का उपयोग किया, और बिंदुओं को अर्ध-पारदर्शी बनाया ताकि आप बता सकें कि जब वे ओवरलैप करते हैं (ओवरलैप होने पर दूसरा विकल्प बिंदुओं को चकमा देना होगा)।

चित्र 1: समूह द्वारा डॉट प्लॉट

यह स्टैक्ड बार चार्ट से बेहतर क्यों है? स्टैक्ड बार चार्ट बार की लंबाई में जानकारी सांकेतिक शब्दों में बदलना। जब आप बार की लंबाई के बीच तुलना करने की कोशिश करते हैं, या तो एक ही अक्ष श्रेणी के भीतर या पैनलों के बीच, स्टैकिंग एक सामान्य पैमाने होने से बारों को रोकता है। एक उदाहरण के लिए, मैंने चित्र 2 में एक छवि प्रदान की है जिसमें दो बार एक भूखंड में रखे गए हैं जिसमें उनका आरंभ स्थान अलग है, कौन सा बार व्यापक है (क्षैतिज अक्ष के साथ)?

चित्र 2: बार बिना कॉमन स्केल के

नीचे दिए गए चित्र 3 में उस भूखंड की तुलना करें, जिसमें दो बार (एक ही लंबाई के) एक ही शुरुआत बिंदु से प्लॉट किए गए हैं। मैंने जानबूझकर कार्य को कठिन बना दिया है, लेकिन आपको यह बताने में सक्षम होना चाहिए कि कौन सा लंबा है।

चित्रा 3: एक सामान्य पैमाने के साथ बार्स

स्टैक्ड बार चार्ट अनिवार्य रूप से वही कर रहे हैं जो चित्र 2 में प्रदर्शित किया गया है। डॉट प्लॉट्स को चित्र 3 में प्रदर्शित होने के समान ही माना जा सकता है, बस बार के अंत में एक डॉट के साथ बार को बदलें।

मैं यह कहने के लिए नहीं जा रहा हूं कि खोजपूर्ण डेटा विश्लेषण के लिए कोई विशेष चार्ट उत्पन्न नहीं होगा, लेकिन मैं सुझाव दूंगा कि इतने सारे श्रेणियों का उपयोग करते समय स्टैक्ड बार चार्ट से बचें। डॉट प्लॉट या तो रामबाण नहीं हैं, लेकिन मेरा मानना ​​है कि डॉट प्लॉट वाले पैनलों की तुलना स्टैक किए गए बार चार्ट्स की तुलना में बहुत आसान है। उन कुछ सलाहों पर विचार करें जो मैं अपने ब्लॉग पोस्ट पर यहाँ टेबल के लिए उपलब्ध कराता हूँ , और चार्ट को सार्थक श्रेणियों में क्रमबद्ध करने और / या अलग करने की कोशिश करता हूँ, और सुनिश्चित करें कि आप जिन वस्तुओं को देखना चाहते हैं, वे चार्ट में एक साथ करीब हैं। हालांकि कुछ प्लॉटिंग विधियां कई प्रश्नों (श्रेणीबद्ध गर्मी के नक्शे एक उदाहरण हैं) को अच्छी तरह से स्केल कर सकती हैं, बिना छांटे किसी भी अर्थ पैटर्न (स्पष्ट आउटलेयर के अलावा) की पहचान करना अभी भी मुश्किल होगा।

एसपीएसएस का उपयोग करने पर एक नोट। SPSS चार्ट से जुड़े पिछले किसी भी को उत्पन्न कर सकते हैं, हालांकि यह अक्सर यह जानना चाहता है कि आपके डेटा को कैसे आकार दिया जाए (वही ggplot का सच है, लेकिन लोग आपके लिए आवश्यक रूप से पुन: आकार देने के लिए पैकेज विकसित कर रहे हैं)। यह समझने के लिए कि SPSS की GPL भाषा बेहतर कैसे काम करती है, मैं वास्तव में ggplot2 पर हेडली विकम की पुस्तक पढ़ने का सुझाव दूंगाउपयोग में आर! श्रृंखला। यह समझने के लिए व्याकरण आवश्यक है कि SPSS का GPL कैसे काम करता है, और SPSS के साथ आने वाले GPL प्रोग्रामिंग मैनुअल की तुलना में यह बहुत आसान है! यदि आपके पास SPSS में विशिष्ट चार्ट बनाने के बारे में कोई प्रश्न है, तो एक चार्ट के लिए एक प्रश्न पूछना सबसे अच्छा होगा (जैसा मैंने यहां पर्याप्त बात की है!) मैं इस उत्तर को एक लिंक के साथ अपडेट करूंगा, हालांकि अगर मैं कभी भी अपना बनाने के लिए चारों ओर पहुंचता हूं! कुछ अन्य चार्ट की नकल करते हुए ब्लॉग पोस्ट। गर्मी के नक्शे या उतार-चढ़ाव वाले भूखंडों की अवधारणा के प्रमाण के लिए आप मेरा एक और ब्लॉग पोस्ट देख सकते हैं, एसपीएसएस में कुछ उदाहरण कोरग्राम

SPSS कोड चित्र 1 उत्पन्न करने के लिए उपयोग किया जाता है

****************************************.
input program. */making fake data similar to yours.
loop #i = 1 to 82.
compute case_num = #i.
end case.
end loop.
end file.
end input program.
execute.
dataset name likert.

*making number in groups.
compute group = 1.
if case_num > 43 group = 2.
value labels group
1 'A'
2 'B'.

*this makes 5 variables with categories between 0 and 5 (similar to Likert data with 5 categories plus missing data).
vector V(5).
do repeat V = V1 to V5.
compute V = TRUNC(RV.UNIFORM(0,6)).
end repeat.
execute.

value labels V1 to V5
0 'missing'
1 'very disagree'
2 'disagree'
3 'neutral'
4 'agree'
5 'very agree'.
formats case_num group V1 to V5 (F1.0).
*****************************************.

*Because I want to panel by variable, I am going to reshape my data so all of the "V" variables are in one column (stacking them in long format).
varstocases
/make V from V1 to V5
/index orig (V).

*I am going to plot the points, so I aggregate that information (you could aggregate total counts as well if you wanted to plot percentages.
DATASET DECLARE agg_lik.
AGGREGATE
  /OUTFILE='agg_lik'
  /BREAK=orig V group
  /count_lik=N.
dataset activate agg_lik.


*now the fun part, generating the chart.
*The X axis, dim(1) is the count of likert responses within each category for each original question.
*The Y axis, dim(2) is the likert responses, and the third axis is used to panel the observations by the original questions, dim(4) here beacause I want to panel
by rows instead of columns.
DATASET ACTIVATE agg_lik.
* Chart Builder.
GGRAPH
  /GRAPHDATASET NAME="graphdataset" VARIABLES=count_lik V group orig 
    MISSING=LISTWISE REPORTMISSING=NO
  /GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
  SOURCE: s=userSource(id("graphdataset"))
  DATA: count_lik=col(source(s), name("count_lik"))
  DATA: V=col(source(s), name("V"), unit.category())
  DATA: group=col(source(s), name("group"), unit.category())
  DATA: orig=col(source(s), name("orig"), unit.category())
  GUIDE: axis(dim(1), label("Count"))
  GUIDE: axis(dim(2))
  GUIDE: axis(dim(4))
  GUIDE: legend(aesthetic(aesthetic.color.exterior), label("group"))
  GUIDE: text.title(label("Figure 1: Dot Plots by Group"))
  SCALE: cat(aesthetic(aesthetic.color.exterior), include("1", "2"))
  SCALE: cat(aesthetic(aesthetic.shape), map(("1", shape.circle), ("2", shape.square)))
  ELEMENT: point(position(count_lik*V*1*orig), color.exterior(group), color.interior(group), transparency.interior(transparency."0.7"), size(size."8px"), shape(group))
END GPL.
*The "SCALE: cat" statements map different shapes which I use to assign to the two groups in the plot, and I plot the interior of the points as partially transparent.
*With some post hoc editing you should be able to make the chart look like what I have in the stats post.
****************************************.

विनम्रता के साथ मेरे लिए मजबूत प्लस लेकिन स्टैक्ड बार चार्ट की कमियों पर मर्मज्ञ रूप से चर्चा करना, जो सिद्धांत रूप में समझना आसान है, लेकिन व्यवहार में डिकोड करने के लिए अक्सर बहुत कम आसान है।
निक कॉक्स

5

ओह ठीक है, आप स्पष्ट करने से पहले मैं कोड के साथ आया था। इंतजार करना चाहिए था, लेकिन सोचा कि मुझे इसे पोस्ट करना चाहिए ताकि जो कोई भी यहां आए, वह इस कोड का पुन: उपयोग कर सके।

दृश्य के लिए डमी डेटा

# Response for http://stats.stackexchange.com/questions/25109/visualizing-likert-responses-using-r-or-spss
# Load libraries
library(reshape2)
library(ggplot2)

# Functions
CreateRowsColumns <- function(noofrows, noofcolumns) {
createcolumnnames <- paste("Q", 1:noofcolumns, sep ="")
df <- sapply(1:noofcolumns, function(i) assign(createcolumnnames[i], matrix(sample(1:5, noofrows, replace = TRUE))))
df <- sapply(1:noofcolumns, function(i) df[,i] <- as.factor(df[,i]))
colnames(df) <- createcolumnnames
return(df)}

# Generate dummy dataframe
LikertResponse <- CreateRowsColumns(82, 65)
LikertResponse[LikertResponse == 1] <- "Strongly agree"
LikertResponse[LikertResponse == 2] <- "Agree"
LikertResponse[LikertResponse == 3] <- "Neutral"
LikertResponse[LikertResponse == 4] <- "Disagree"
LikertResponse[LikertResponse == 5] <- "Strongly disagree"

हीटमैप के लिए कोड

# Prepare data
LikertResponseSummary <- do.call(rbind, lapply(data.frame(LikertResponse), table))
LikertResponseSummaryPercent <- prop.table(LikertResponseSummary,1)

# Melt data
LikertResponseSummary <- melt(LikertResponseSummary)
LikertResponseSummaryPercent <- melt(LikertResponseSummaryPercent)

# Merge counts with proportions
LikertResponsePlotData <- merge(LikertResponseSummary, LikertResponseSummaryPercent, by = c("Var1","Var2"))

# Plot heatmap!
# Use the "geom_tile(aes(fill = value.y*100), colour = "white")" to control how you want the heatmap colours to map to.
ggplot(LikertResponsePlotData, aes(x = Var2, y = Var1)) +
    geom_tile(aes(fill = value.y*100), colour = "white") +
    scale_fill_gradient(low = "white", high = "steelblue", name = "% of Respondents") +
    scale_x_discrete(name = 'Response') +
    scale_y_discrete(name = 'Questions') +
    geom_text(aes(label = paste(format(round(value.y*100), width = 3), '% (', format(round(value.x), width = 3), ')')), size = 3) 

यह मूल रूप से जेसन ब्रायोन की वेबसाइट से हीटमैप पर विज़ुअलाइज़िंग लिकट आइटम का एक टेम्पलेट है।


1
github.com/jbryer/irutils/blob/master/R/likert.R आपके द्वारा इच्छित बार चार्ट्स के लिए स्रोत है।
आरजे-

स्पष्ट करने के लिए, मैं समूहों के बीच तुलना नहीं करना चाहता। बस एक परिष्कृत तरीके से दोनों समूहों की प्रतिक्रियाओं को प्रस्तुत करने के लिए। यह एक शानदार प्रतिक्रिया है। मैं इसकी प्रशंसा करता हूँ। धन्यवाद।
एडम

3

@ आरजे का कोड इस तरह एक भूखंड का निर्माण करता है, जो वास्तव में छायांकित कोशिकाओं के साथ एक तालिका है। इसके बजाय व्यस्त और समझने के लिए थोड़ा मुश्किल। छायांकन के बिना एक सादे तालिका अधिक प्रभावी हो सकती है (और आप डेटा को अधिक सार्थक क्रम में भी डाल सकते हैं)।

यहाँ छवि विवरण दर्ज करें

बेशक यह इस बात पर निर्भर करता है कि आप किस मुख्य संदेश को संप्रेषित करने की कोशिश कर रहे हैं, लेकिन मुझे लगता है कि यह सरल और थोड़ा आसान है। इसमें (अधिकतर!) तार्किक क्रम में प्रश्न और प्रतिक्रियाएं भी हैं।

    library(stringr)
    LikertResponseSummary$Var1num <- 
      as.numeric(str_extract(LikertResponseSummary$Var1, "[0-9]+"))
    LikertResponseSummary$Var2 <- 
      factor(LikertResponseSummary$Var2, 
      levels =  c("Strongly disagree", "Disagree", "Neutral", "Agree", "Strongly agree"))

ggplot(LikertResponseSummary, 
       aes(factor(Var1num), value, fill = factor(Var2))) + 
       geom_bar(position="fill") +
       scale_x_discrete(name = 'Question', breaks=LikertResponseSummary$Var1num,
                        labels=LikertResponseSummary$Var1) +
       scale_y_continuous(name = 'Proportion') +
       scale_fill_discrete(name = 'Response') +
       coord_flip()

यहाँ छवि विवरण दर्ज करें


सहमत है कि चार्ट व्यस्त दिखता है। हालाँकि यह उपयोगी होगा यदि प्रश्न किसी क्रम में क्रमबद्ध हैं जैसे कि Q1 - 10 एक निश्चित आयाम और इसी तरह के बारे में पूछता है। एक नज़र में अगर रुझान स्पष्ट हैं, तो रंग बताएंगे।
आरजे-
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.