Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:如何跨多个列制作条形图_R_Ggplot2_Histogram_Bar Chart - Fatal编程技术网

R:如何跨多个列制作条形图

R:如何跨多个列制作条形图,r,ggplot2,histogram,bar-chart,R,Ggplot2,Histogram,Bar Chart,我正在尝试制作一个条形图,它可以可视化多个列中的值,但我对如何实现这一点有点迷茫 我的专栏是: Theme_1 <- c(0,15023,15614,0,0,145618,204656,2065,11564,0) Theme_2 <- c(0,10264,0,10485,0,15460,20000,2000,0,15640) Theme_3 <- c(2564,26904,0,16048,0,1980,0,10564,1894,19614) Theme_4 <- c(0,

我正在尝试制作一个条形图,它可以可视化多个列中的值,但我对如何实现这一点有点迷茫

我的专栏是:

Theme_1 <- c(0,15023,15614,0,0,145618,204656,2065,11564,0)
Theme_2 <- c(0,10264,0,10485,0,15460,20000,2000,0,15640)
Theme_3 <- c(2564,26904,0,16048,0,1980,0,10564,1894,19614)
Theme_4 <- c(0,0,0,10189,1105,1361,1780,20458,2000,0)
尝试1-这不起作用-因为主题未在x轴上对齐

  • (注意,我有19个观察结果)


    Theme\u df您可以尝试使用
    group\u by
    summary

    library(tidyverse)
    tibble(Theme_1, Theme_2, Theme_3, Theme_4) %>% 
      gather(k, v) %>% 
      group_by(k) %>% 
      summarise(Sum=sum(v)) %>% 
      ggplot(aes(k, Sum, fill=k)) + 
       geom_col(position = "dodge")
    

    或者干脆用

    tibble(Theme_1, Theme_2, Theme_3, Theme_4) %>% 
      gather(k, v) %>% 
      ggplot(aes(k, v, fill=k)) + 
       stat_summary(fun.y="sum", geom="bar")
    

    谢谢你!这很好,但是如何组合主题1、主题2等所有列。因此,最终只有4列具有累积值?非常感谢您的帮助!:-D@BloopFloopy如果你对答案感到满意,考虑接受它。
    library(tidyverse)
    tibble(Theme_1, Theme_2, Theme_3, Theme_4) %>% 
      gather(k, v) %>% 
      group_by(k) %>% 
      summarise(Sum=sum(v)) %>% 
      ggplot(aes(k, Sum, fill=k)) + 
       geom_col(position = "dodge")
    
    tibble(Theme_1, Theme_2, Theme_3, Theme_4) %>% 
      gather(k, v) %>% 
      ggplot(aes(k, v, fill=k)) + 
       stat_summary(fun.y="sum", geom="bar")