Tenho 82 respondentes em 2 grupos (43 no Grupo A e 39 no Grupo B) que completaram uma pesquisa com 65 perguntas do tipo Likert, cada uma variando de 1 a 5 (concordo totalmente - discordo totalmente). Portanto, tenho um quadro de dados com 66 colunas (1 para cada pergunta + 1 indicando alocação de grupo) e 82 linhas (1 para cada respondente).
Usando R ou SPSS, alguém conhece uma boa maneira de visualizar esses dados.
Eu preciso de algo assim:
(de Jason Bryer )
Mas não consigo fazer com que a seção inicial do código funcione. Como alternativa, encontrei bons exemplos de como visualizar dados Likert de uma postagem anterior Validada Cruzada: Visualizando Dados de Resposta de Itens Likert, mas não existem guias ou instruções sobre como criar esses gráficos de contagem centralizada ou gráficos de barras empilhados usando R ou SPSS.
fonte
Respostas:
Se você realmente deseja usar gráficos de barras empilhados com um número tão grande de itens, aqui estão duas soluções possíveis.
Usando
irutils
Me deparei com este pacote há alguns meses.
A partir do commit 0573195c07 no Github , o código não funcionará com um
grouping=
argumento. Vamos para a sessão de depuração de sexta-feira.Comece baixando uma versão compactada do Github. Você precisará hackear o
R/likert.R
arquivo, especificamente as funçõeslikert
eplot.likert
. Primeiro, inlikert
,cast()
é usado, mas oreshape
pacote nunca é carregado (embora exista umaimport(reshape)
instrução noNAMESPACE
arquivo). Você pode carregar isso você mesmo com antecedência. Segundo, há uma instrução incorreta para buscar rótulos de itens, onde ai
está oscilando em torno da linha 175. Isso também deve ser corrigido, por exemplo, substituindo todas as ocorrências delikert$items[,i]
porlikert$items[,1]
. Em seguida, você pode instalar o pacote da maneira que costumava fazer na sua máquina. No meu Mac, eu fizEm seguida, com R, tente o seguinte:
Isso deve funcionar, mas a renderização visual será péssima por causa do alto número de itens.
plot(likert(resp))
Porém, ele funciona sem agrupar (por exemplo ).Sugiro, portanto, reduzir seu conjunto de dados para subconjuntos menores de itens. Por exemplo, usando 12 itens,
Recebo um gráfico de barras empilhado 'legível'. Você provavelmente pode processá-los depois. (Esses são
ggplot2
objetos, mas você não poderá organizá-los em uma única páginagridExtra::grid.arrange()
devido a um problema de legibilidade!)Solução alternativa
Gostaria de chamar sua atenção para outro pacote, HH , que permite plotar escalas Likert como gráficos de barras empilhadas divergentes. Poderíamos reutilizar o código acima, como mostrado abaixo:
mas isso vai complicar um pouco as coisas porque precisamos converter frequências em contagens, definir subconjuntos
likert
objeto produzido porirutils
, desanexar pacote, etc. Então, vamos começar novamente com estatísticas novas (contagens):Para usar uma variável de agrupamento, você precisará trabalhar com
array
valores numéricos.Isso produzirá dois painéis separados, mas cabe em uma única página.
Editar 2016-6-3
fonte
HH::as.pyramidLikert
.t(apply(resp, 2, table))
port(apply(resp, 2, table))[,levels(resp[,1])]
. E +1 para você também!Comecei a escrever uma postagem no blog sobre a recriação de muitos gráficos na postagem que você mencionou ( Visualizando dados de resposta de itens do Likert ) no SPSS, portanto, suponho que essa seja uma boa motivação para finalizá-los.
Como observa Michelle, o fato de você ter grupos é uma nova reviravolta em comparação com as perguntas anteriores. E embora os grupos possam ser levados em consideração usando os gráficos de barras empilhados, na IMO, eles são muito mais facilmente incorporados ao exemplo de plotagem de pontos na postagem original de chl. Eu incluí o código SPSS para gerá-lo no final do post, basicamente implica saber como remodelar seus dados no formato apropriado para gerar o referido gráfico (anotação fornecida no código para, esperançosamente, esclarecer algumas dessas questões). Aqui, usei uma codificação redundante (cor e forma) para distinguir pontos provenientes dos dois grupos e os tornei semi-transparentes para que você possa saber quando eles se sobrepõem (outra opção seria evitar os pontos quando se sobrepõem).
Por que isso é melhor do que os gráficos de barras empilhadas? Os gráficos de barras empilhadas codificam as informações no comprimento das barras. Quando você tenta fazer comparações entre comprimentos de barras, na mesma categoria de eixo ou entre painéis, o empilhamento impede que as barras tenham uma escala comum. Por exemplo, forneci uma imagem na Figura 2 na qual duas barras são colocadas em um gráfico em que sua localização inicial é diferente, qual barra é a mais larga (ao longo do eixo horizontal)?
Compare isso com a plotagem da Figura 3 abaixo, na qual as duas barras (do mesmo comprimento) são plotadas do mesmo ponto inicial. Intencionalmente tornei a tarefa difícil, mas você deve saber qual é mais longo.
Os gráficos de barras empilhadas estão essencialmente fazendo o que é exibido na Figura 2. Os gráficos de pontos podem ser considerados mais semelhantes ao que é exibido na Figura 3, basta substituir a barra por um ponto no final da barra.
Não vou dizer que não gere nenhum gráfico específico para análise exploratória de dados, mas sugiro evitar os gráficos de barras empilhadas ao usar tantas categorias. Os gráficos de pontos também não são uma panacéia, mas acredito que fazer comparações entre painéis com os gráficos de pontos é muito mais fácil do que nos gráficos de barras empilhados. Considere alguns dos conselhos que eu forneço no meu blog aqui para tabelas, tente ordenar e / ou separar os gráficos em categorias significativas e verifique se os itens que você gostaria de ver em conjunto estão mais próximos nos gráficos. Embora alguns dos métodos de plotagem possam ser bem dimensionados para muitas perguntas (os mapas de calor categóricos são um exemplo), sem classificar, ainda será difícil identificar quaisquer padrões significativos (além de óbvios outliers).
Uma observação sobre o uso do SPSS. O SPSS pode gerar qualquer um dos itens anteriores vinculados aos gráficos, embora freqüentemente envolva saber como moldar seus dados (o mesmo se aplica ao ggplot, mas as pessoas têm desenvolvido pacotes para essencialmente reformular sua configuração). Para entender como a linguagem GPL da SPSS funciona melhor, sugiro ler o livro de Hadley Wickham sobre ggplot2no Use R! Series. Ele descreve a gramática necessária para entender como a GPL do SPSS funciona e é uma leitura muito mais fácil do que o manual de programação da GPL que acompanha o SPSS! Se você tiver alguma dúvida sobre a geração de gráficos específicos no SPSS, seria melhor fazer uma pergunta para um gráfico (já falei o suficiente aqui!). Atualizarei esta resposta com um link, se algum dia eu conseguir postagem no blog replicando alguns dos outros gráficos. Para uma prova do conceito dos mapas de calor ou gráficos de flutuação, você pode ver outra publicação minha, Alguns exemplos de Corrgrams no SPSS .
Código SPSS usado para gerar a Figura 1
fonte
Bem, eu vim com o código antes de você esclarecer. Deveria ter esperado, mas achei que eu deveria publicá-lo para que qualquer pessoa que venha aqui possa reutilizar esse código.
Dados fictícios para visualização
Código para mapa de calor
Este é basicamente um modelo para visualizar os itens do Likert em um mapa de calor do site de Jason Bryon.
fonte
O código do @ RJ produz um gráfico como este, que é realmente uma tabela com células sombreadas. É bastante ocupado e um pouco difícil de decifrar. Uma tabela simples sem sombreamento pode ser mais eficaz (e você também pode colocar os dados em uma ordem mais significativa).
É claro que depende da mensagem principal que você está tentando comunicar, mas acho que isso é mais simples e um pouco mais fácil de entender. Ele também tem as perguntas e respostas em uma ordem lógica (principalmente!).
fonte