【问题标题】:Plotting dplyr summarised tibble using ggplot using column names [closed]使用 ggplot 使用列名绘制 dplyr 汇总 tibble [关闭]
【发布时间】:2021-08-15 19:41:16
【问题描述】:

我有一个汇总输出,其中包含 R 中每列的单个值,例如:

A      B      C      D
0.25   0.13   0.19   0.30

我想按名称选择一些列,然后在 ggplot 中绘制其对应的值。

例子:

library(dplyr)
library(ggplot2)
A = c(24,25,26)
B = c(12,13,14)
C = c(18,19,20)
D = c(29,30,31)

df = data.frame(A,B,C,D)

df %>%
  summarise(across(c(A,C),
                   ~mean(.)/100
  ))

>     A      C
   0.25   0.19

然后我想使用 ggplot 绘制两个条形图,其中 x 轴包含 A 和 C,Y 轴分别是值 0.25 和 0.19 的条形图。

任何帮助将不胜感激!

【问题讨论】:

  • 这能回答你的问题吗? barplot in ggplot
  • 如果问题只是如何制作条形图,您最好从一些 ggplot 教程开始,然后在修复该代码时遇到具体问题再回到 SO。有很多好的,包括链接到 ggplot 文档站点的那些

标签: r ggplot2 dplyr


【解决方案1】:

ggplot2 封面上可能需要的一件事 - 不要以 excel 的方式思考

A = c(24,25,26)
B = c(12,13,14)
C = c(18,19,20)
D = c(29,30,31)

df = data.frame(A,B,C,D)
library(tidyverse)
df %>%
  summarise(across(c(A,C),
                   ~mean(.)/100
  )) %>%
  pivot_longer(everything()) %>%
  ggplot(aes(x = name, y = value)) +
  geom_col()

reprex package (v2.0.0) 于 2021 年 5 月 27 日创建

【讨论】:

  • 谢谢!我很挣扎,因为我不知道您可以使用“名称”和“值”作为 aes() 的输入
  • @jp1 我想你还没有理解它。这个想法是重塑数据,以便轴可以变成一个变量,而值可以变成另一个。在继续之前,您可以阅读tidy 数据herehere 的概念:)
猜你喜欢
  • 2019-01-27
  • 2014-12-02
  • 1970-01-01
  • 1970-01-01
  • 2020-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多