0

这个问题是我之前提出的关于李克特数据可视化的问题的扩展。另请参阅链接以获取详细信息和简单示例。

假设我们有一个mydata看起来像这样的数据框(对李克特量表 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,例如“完全同意”,“完全不同意”等)被绘制到条形图中,就像在这个答案中一样帖子的最底部。起初,作者使用

    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”) - 是 10 Q1 的有效答案“1”显示为整个垂直条的 2/3,与 Q2 的条具有相同的高度?

然后那里的作者使用

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

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

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

这是我问题的第 1 部分。第 2 部分:这是同一个问题,但考虑到答案 (1-5) 的各自值,有一个箱线图。我在一个图表中为每个问题绘制了 2 个箱线图。

再次关于在我的数据中包含“NA”。下面的代码是否考虑到例如在Q1(使用之前的示例)中,如果通过使用删除整理数据中的 NAdrop.na()并相应地绘制箱线图,则减少 5 个值 - 也就是说,对于 Q1 和 20 仅使用 15 个答案Q2的答案?:

  preparedataboxplot <- select(mydata,P,Q1,Q2,) %>% gather(key='Question_num', value='Antwort', -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)
4

0 回答 0