【问题标题】:using ggplot2 to show multiple number columns in barplot?使用 ggplot2 在 barplot 中显示多个数字列?
【发布时间】:2015-03-03 09:09:22
【问题描述】:

有人可以帮忙在 R 中使用 ggplot2 来显示条形图,我需要在 x 轴上显示列(第一、第二、第三、第四、第五)并在 y 轴上显示它们的值吗?不显示列“uname”。

    > head(golQ1Grades)
               qname          uname first second third fourth fifth 
1 onlinelernen_quiz_1          xxx   100      0     0      0     0      
2 onlinelernen_quiz_2        xxxx    100      0     0      0     0      
3 onlinelernen_quiz_4        xxxx     42     71     0      0     0       
4 onlinelernen_quiz_7        xxxx     85    100     0      0     0      
5 onlinelernen_quiz_1        xxx      85    100     0      0     0      
6 onlinelernen_quiz_3         xxxx    71      0     0      0     0       

感谢您的高级帮助。

【问题讨论】:

  • 您能否澄清一下您是否希望显示所有单独的值或您的列的平均值第一,第二,...?

标签: r ggplot2


【解决方案1】:

我猜你想在 Y 轴上显示平均值。

library(ggplot2)

数据

dat<-data.frame(c(100,100,42,85,85,71), c(0,0,71,100,100,0), c(0,0,0,0,0,0), c(0,0,0,0,0,0), c(0,0,0,0,0,0))
names(dat)<-NULL

计算均值并获取新数据

v1<-apply(dat, 2, mean)
nv1<-c("first","second","third", "fourth","fifth")
ndat<-data.frame(nv1, v1)

剧情

p <- ggplot(ndat, aes(factor(nv1), v1)) 
p + geom_bar(stat="identity")

【讨论】:

  • 谢谢,现在说得通了 :)
  • 嗨 Mohammad,如果您喜欢这个答案,您可以在 Stackoverflow 上投票并接受它作为答案!
  • 你好 Ruthger,问题是我的声望是 6。在我达到 15 之前我不能投票。
【解决方案2】:

我认为更好的选择是dplyrtidyr.E.g。 (我改了一点data.frame

library(dplyr)
library(tidyr)
library(ggplot2)

df  <- data.frame(qname = letters[1:10],
                          first = seq(1,10,1), 
                          second = seq(10,100,10),
                          third = seq(2,20,2))

然后使用gather 功能:

df <- df %>%
  gather(variable, value, -qname)

你的情况是

df <- golQ1Grades %>%
  gather(variable,value, -qname, -uname)

此外,除了计算平均值之外,它也非常有用facet_grid

ggplot(df, aes(factor(qname),value))+
  geom_bar(stat = "identity")+
  facet_grid(.~variable)

【讨论】:

    猜你喜欢
    • 2016-12-02
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    相关资源
    最近更新 更多