微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 NA 可视化李克特数据箱线图、条形图

如何解决使用 NA 可视化李克特数据箱线图、条形图

这个问题是我之前就李克特数据可视化提出的问题的延伸。另请参阅 this 链接以了解详细信息和简单示例。

假设我们有一个数据框 mydata,看起来像这样(对 Likert 量表 1-5 的问题的答案),其中包含几个人 P:

 P   Q1  Q2 ...
  1   1   4    1
  2   2   3    4
  3   NA   1    4

通过使用

prepareddatabarplot <- select(mydata,P,Q1,Q2) %>% gather(key='Question_num',value='Antwort',-P)

我整理了数据并使用了

prepareddatabarplot %>% drop_na() 

摆脱所有的 NA。现在我想要一个堆积条形图(每个问题的垂直条),其中每个答案的百分比(1-5,例如“完全同意”、“完全不同意”等)被绘制到条形图中,就像 {{3 }} 在帖子的最底部回答。 起初,作者使用

    ggplot(questions,aes(x=Question_num)) +
  geom_bar(aes(fill=Answer)) +...

我是否正确理解 fill=Answer 在我的数据框中有 NA 时可以正常工作?我的意思是:如果有例如Q1 中有 5 个 NA(以及 10 个答案“1”和 5 个答案“2”)和 Q2 中的 0 个 NA(以及 15 个答案“1”和 5 个答案“2”) - 是 Q1 的 10 个有效答案“1”,显示为整个垂直条的 2/3 与 Q2 中的条高度相同?

那里的作者然后使用

aes(y=freq,label=percent(freq/20,1),group=Answer)

计算有 20 人回答问题的百分比。 Freq 是每个答案的计数(答案的可能性是 1、2、3、4、5 或说“完全同意”等)。问题是,这仅适用于没有 NA 的数据,因为这样就可以将 freq 除以 20,因为每个问题有 20 个有效答案。

如果有 NA,我该如何处理 - 因此对于堆叠条形图中可视化的每个问题,可能会有不同数量的有效答案?

这是我问题的第 1 部分。对于第 2 部分:这是同一个问题,但箱线图考虑了答案 (1-5) 的相应值。我在一个图表中为每个问题绘制了 2 个箱线图,并排在一起。

再次关于在我的数据中包含“NA”。 以下代码是否负责例如在 Q1 中(使用之前的示例),如果使用 drop.na() 删除整理数据中的 NA 并相应地绘制箱线图,则减少 5 个值 - 可以说仅使用 15 个 Q1 答案以及第 2 季度的 20 个答案?:

  preparedataBoxplot <- select(mydata,Q2,) %>% gather(key='Question_num',-P)
#preparedataBoxplot <- preparedataBoxplot %>% drop_na()
preparedataBoxplot$Antwort<-unlist(preparedataBoxplot$Antwort)


    ggplot(preparedataBoxplot,aes(x=factor(Question_num),y=Antwort))+
      stat_Boxplot(geom='errorbar',width=0.8)+
      geom_Boxplot(width=0.8)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。