在一个窗口 r 中为数据框中的每一列绘制不同的图

激活

我为数据框中的每个变量制作了直方图、线图和箱线图,以评估每个变量的分布并将这些图绘制在一个窗口中。

对于变量,VARIABLE我的代码如下所示:

variable_name_string = "VARIABLE"

hist = qplot(VARIABLE, data = full_data_noNO, geom="histogram", 
fill=I("lightblue"))+
theme_light()

avg_price = full_data_noNO %>% 
group_by(Month, Country) %>%
dplyr::summarize(avg = mean(VARIABLE, na.rm = 
TRUE))

#line graph for different countries over time
line = ggplot(data=avg_price, aes(x=anydate(Month), y=VARIABLE, 
group=Country)) +
xlab("Date")+
ylab(variable_name_string)+
geom_line(aes(color=Country), size = 1)+
theme_light()

#boxplot over different years
avg_price2 = avg_price
avg_price2$Month = format(as.Date(anydate(avg_price$Month), "%Y-%m-%d"), 
"%Y")

box = ggplot(avg_price2, aes(x = Month, y=VARIABLE, fill = Month)) + 
geom_boxplot()+
xlab("Date")+
ylab(variable_name_string)+
guides(fill=FALSE)+
theme_light()

var_name = grid.text(variable_name_string, gp=gpar(fontsize=20))

#merge plot into one window
grid.arrange(var_name, hist, line, box, ncol=2)

这适用于一个变量,但现在我想对数据框中的每个变量执行此操作,并为所有变量保存合并的绘图窗口。我几乎一整天都在寻找,但找不到解决方案。谁能帮我?

克莱门斯拥抱

没有可重现的示例很难提供帮助,但是您可以尝试将绘图代码包装在一个函数中,并使用它lapply来为所有变量重复调用该函数。

make_plots <- function (variable_string) {
  var_quo <- rlang::sym(variable_string)
  hist = qplot(!!var_quo, data = full_data_noNO, geom="histogram", 
               fill=I("lightblue"))+
    theme_light()

  avg_price = full_data_noNO %>% 
    group_by(Month, Country) %>%
    dplyr::summarize(avg = mean(!!var_quo, na.rm = 
                                  TRUE))

  #line graph for different countries over time
  line = ggplot(data=avg_price, aes(x=anydate(Month), y=!!var_quo, 
                                    group=Country)) +
    xlab("Date")+
    ylab(variable_string)+
    geom_line(aes(color=Country), size = 1)+
    theme_light()

  #boxplot over different years
  avg_price2 = avg_price
  avg_price2$Month = format(as.Date(anydate(avg_price$Month), "%Y-%m-%d"), 
                            "%Y")

  box = ggplot(avg_price2, aes(x = Month, y=!!var_quo, fill = Month)) + 
    geom_boxplot()+
    xlab("Date")+
    ylab(variable_string)+
    guides(fill=FALSE)+
    theme_light()

  var_name = grid.text(!!var_quo, gp=gpar(fontsize=20))

  #merge plot into one window
  combined <- grid.arrange(var_name, hist, line, box, ncol=2)

  # Save combined plot at VARIABLE_plots.pdf
  ggsave(paste0(variable_string, "_plots.pdf"), combined)
  combined
}

# Make sure to pass the variable names as character vector
plots <- lapply(c("VARIABLE1", "VARIABLE2"), make_plots)
# OR
plots <- lapply(colnames(full_data_noNO), make_plots)

# Plots can also be accessed and printed individually
print(plots[["VARIABLE1"]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用R为数据框中的每一行绘制雷达图

来自分类Dev

如何将数据框中的每一列重新缩放为0-100比例?(在r中)

来自分类Dev

如何将数据框中的每一列重新缩放为0-100比例?(在r中)

来自分类Dev

为R数据帧中的每一行绘制一个函数

来自分类Dev

如何使用sapply和ggplot2为数据框中的每一列绘制此图?

来自分类Dev

我可以使用R中另一个数据框的对应值来划分数据框的每一列吗?

来自分类Dev

R将数据框中的每一列除以最后一行的值

来自分类Dev

R将数据框中的每一列除以最后一行的值

来自分类Dev

在R中为数据帧的每一行绘制不同的行

来自分类Dev

R. n另一列的数据框中的前一个元素

来自分类Dev

在R中另一数据框中的另一列的基础上在一个数据框中创建一列

来自分类Dev

相对于R中的第一列绘制数据框的列

来自分类Dev

为R中的一个excel文件中的每一列创建新工作表

来自分类Dev

R:对数据框中每一列的字符串计数

来自分类Dev

R-对数据框中的每一列使用Batlett的测试功能

来自分类Dev

如何在R的数据框中计算列表列的每一列中的元素

来自分类Dev

r中数据帧不同行的每一列的最大值

来自分类Dev

在一个窗口中绘制不同大小的矩阵(以R为单位)

来自分类Dev

R ggplot,将一列相对于数据框中的另一列进行绘制

来自分类Dev

从r中的一个特定列中减去每一列的函数

来自分类Dev

R:根据一列的数据绘制矩阵中的数据

来自分类Dev

创建一个for循环以删除重复项,并从R中数据框的不同列将其导出为csv

来自分类Dev

R:如何从每一列和引导程序中随机采样一个值

来自分类Dev

如何使用数据框中的不同列在一个图上绘制多个图?

来自分类Dev

R:根据数据框另一列中的不同信息合并列

来自分类Dev

如何在R中对不同数据框的同一列求和

来自分类Dev

R中每一列的均值

来自分类Dev

如何按R中每列的最后一个值对数据框中的列进行重新排序

来自分类Dev

R:选择数据框列中的一列

Related 相关文章

  1. 1

    使用R为数据框中的每一行绘制雷达图

  2. 2

    如何将数据框中的每一列重新缩放为0-100比例?(在r中)

  3. 3

    如何将数据框中的每一列重新缩放为0-100比例?(在r中)

  4. 4

    为R数据帧中的每一行绘制一个函数

  5. 5

    如何使用sapply和ggplot2为数据框中的每一列绘制此图?

  6. 6

    我可以使用R中另一个数据框的对应值来划分数据框的每一列吗?

  7. 7

    R将数据框中的每一列除以最后一行的值

  8. 8

    R将数据框中的每一列除以最后一行的值

  9. 9

    在R中为数据帧的每一行绘制不同的行

  10. 10

    R. n另一列的数据框中的前一个元素

  11. 11

    在R中另一数据框中的另一列的基础上在一个数据框中创建一列

  12. 12

    相对于R中的第一列绘制数据框的列

  13. 13

    为R中的一个excel文件中的每一列创建新工作表

  14. 14

    R:对数据框中每一列的字符串计数

  15. 15

    R-对数据框中的每一列使用Batlett的测试功能

  16. 16

    如何在R的数据框中计算列表列的每一列中的元素

  17. 17

    r中数据帧不同行的每一列的最大值

  18. 18

    在一个窗口中绘制不同大小的矩阵(以R为单位)

  19. 19

    R ggplot,将一列相对于数据框中的另一列进行绘制

  20. 20

    从r中的一个特定列中减去每一列的函数

  21. 21

    R:根据一列的数据绘制矩阵中的数据

  22. 22

    创建一个for循环以删除重复项,并从R中数据框的不同列将其导出为csv

  23. 23

    R:如何从每一列和引导程序中随机采样一个值

  24. 24

    如何使用数据框中的不同列在一个图上绘制多个图?

  25. 25

    R:根据数据框另一列中的不同信息合并列

  26. 26

    如何在R中对不同数据框的同一列求和

  27. 27

    R中每一列的均值

  28. 28

    如何按R中每列的最后一个值对数据框中的列进行重新排序

  29. 29

    R:选择数据框列中的一列

热门标签

归档