将图分配给循环中的变量

那是

我正在尝试创建2条线图。

但是我注意到使用for循环会生成两个图y=mev2(而不是基于的图y=mev1和基于的图y=mev2)。

下面的代码显示了此处的观察结果。

mev1 <- c(1,3,7)
mev2 <- c(9,8,2)
Period <- c(1960, 1970, 1980)
df <- data.frame(Period, mev1, mev2)

library(ggplot2)
# Method 1: Creating plot1 and plot2 without using "for" loop (hard-code)
plot1 <- ggplot(data = df, aes(x=Period, y=unlist(as.list(df[2])))) + geom_line()
plot2 <- ggplot(data = df, aes(x=Period, y=unlist(as.list(df[3])))) + geom_line()

# Method 2: Creating plot1 and plot2 using "for" loop
for (i in 1:2) {
   y_var <- unlist(as.list(df[i+1]))
   assign(paste("plot", i, sep = ""), ggplot(data = df, aes(x=Period, y=y_var)) + geom_line())
}

似乎是由于某种ggplot()我不了解的工作方式所致

题:

  • 如果要使用方法2,应如何修改逻辑?
  • 人们说使用assign()不是“ R风格”,所以我想知道还有什么替代方法吗?说,使用list
雷米库拉德

没有tidyverse添加命令的可能答案是:

library(ggplot2)

y_var <- colnames(df)
for (i in 1:2) {
  assign(paste("plot", i, sep = ""),
         ggplot(data = df, aes_string(x=y_var[1], y=y_var[1 + i])) +
           geom_line())
}

plot1
plot2

您可以使用aes_string希望对您有所帮助。

编辑1

如果要在列表中存储图,可以使用以下方法:

初始化您的列表:

n <- 2 # number of plots
list_plot <- vector(mode = "list", length = n)
names(list_plot) <- paste("plot", 1:n)

填充 :

for (i in 1:2) {
  list_plot[[i]] <- ggplot(data = df, aes_string(x=y_var[1], y=y_var[1 + i])) +
           geom_line()
}

显示方式

list_plot[[1]]
list_plot[[2]]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将ggplot分配给for循环中的变量

来自分类Dev

将for循环条件分配给变量

来自分类Dev

将变量分配给“ For”循环?

来自分类Dev

无法将外部 ngFor 循环中的变量分配给嵌套循环内的 ngModel

来自分类Dev

Python在while循环中的条件期间将值分配给变量

来自分类Dev

在for循环中,如何将变量分配给特定的文件类型?

来自分类Dev

在循环中仅将值分配给某些对象变量

来自分类Dev

c# 将 for 循环中的值分配给各个变量

来自分类Dev

python将值分配给循环中的列表元素

来自分类Dev

将循环中的输出分配给单个列表或数组

来自分类Dev

R-将值分配给for循环中的列表

来自分类Dev

将循环中的输出分配给单个列表或数组

来自分类Dev

使用循环将值分配给变量列表

来自分类Dev

将值分配给循环内的变量

来自分类Dev

将 cmd 变量分配给 for do 循环的输出

来自分类Dev

将`{} + []`分配给变量

来自分类Dev

在循环中将光栅带分配给变量名称-“无法分配”错误

来自分类Dev

将变量的值存储在另一个变量中,然后在python的循环中将其重新分配给该变量

来自分类Dev

如何在FOR循环中将匹配项分配给变量-批处理

来自分类Dev

在循环中将事件处理程序分配给具有变量的对象

来自分类Dev

如何在FOR循环中将匹配项分配给变量-批处理

来自分类Dev

如何在while循环中将行号分配给变量

来自分类Dev

从 JSON 对象中提取值并将它们分配给循环中的 shell 变量

来自分类Dev

Python:如何将项目分配给循环中的变量,其中变量和项目名称根据预先确定的列表更改?

来自分类Dev

TypeScript:将事件分配给循环中元素数组中的每个元素

来自分类Dev

如何按值将i分配给for循环中的对象?

来自分类Dev

Java Arrays []-将For循环中的特定元素分配给某些值

来自分类Dev

如何在for-each循环中使用XSLT自动将值分配给属性?

来自分类Dev

TypeScript:将事件分配给循环中元素数组中的每个元素

Related 相关文章

  1. 1

    将ggplot分配给for循环中的变量

  2. 2

    将for循环条件分配给变量

  3. 3

    将变量分配给“ For”循环?

  4. 4

    无法将外部 ngFor 循环中的变量分配给嵌套循环内的 ngModel

  5. 5

    Python在while循环中的条件期间将值分配给变量

  6. 6

    在for循环中,如何将变量分配给特定的文件类型?

  7. 7

    在循环中仅将值分配给某些对象变量

  8. 8

    c# 将 for 循环中的值分配给各个变量

  9. 9

    python将值分配给循环中的列表元素

  10. 10

    将循环中的输出分配给单个列表或数组

  11. 11

    R-将值分配给for循环中的列表

  12. 12

    将循环中的输出分配给单个列表或数组

  13. 13

    使用循环将值分配给变量列表

  14. 14

    将值分配给循环内的变量

  15. 15

    将 cmd 变量分配给 for do 循环的输出

  16. 16

    将`{} + []`分配给变量

  17. 17

    在循环中将光栅带分配给变量名称-“无法分配”错误

  18. 18

    将变量的值存储在另一个变量中,然后在python的循环中将其重新分配给该变量

  19. 19

    如何在FOR循环中将匹配项分配给变量-批处理

  20. 20

    在循环中将事件处理程序分配给具有变量的对象

  21. 21

    如何在FOR循环中将匹配项分配给变量-批处理

  22. 22

    如何在while循环中将行号分配给变量

  23. 23

    从 JSON 对象中提取值并将它们分配给循环中的 shell 变量

  24. 24

    Python:如何将项目分配给循环中的变量,其中变量和项目名称根据预先确定的列表更改?

  25. 25

    TypeScript:将事件分配给循环中元素数组中的每个元素

  26. 26

    如何按值将i分配给for循环中的对象?

  27. 27

    Java Arrays []-将For循环中的特定元素分配给某些值

  28. 28

    如何在for-each循环中使用XSLT自动将值分配给属性?

  29. 29

    TypeScript:将事件分配给循环中元素数组中的每个元素

热门标签

归档