【发布时间】:2019-10-29 10:16:00
【问题描述】:
我正在尝试在 ggplot 中创建一个循环,如下所示:
LEDnum = c(1,2,3,4,5)
for (i in 1:length(LEDnum))
{
ggplot(LEDref,aes(x=sample1))+
geom_line(aes(y=assign(paste("LEDrefLED",LEDnum[i],sep="")))) +
ggtitle(paste("LED ref + LED ",LEDnum[i],sep=""))
}
我已经存在名为 LEDrefLED1、LEDrefLED2 等的对象(数字列表)。但是,当我运行此代码时,它不会将 geom_line 数据识别为我现有的变量。我认为这是因为 paste() 创建了一个字符串,但由于我是 R 新手,所以我不知道如何让它将其识别为预先存在的对象。
【问题讨论】:
-
我建议检查
help(assign)。它不是get的变量,而是assigns 变量的名称。要获得一个变量,您需要同时对多个变量使用getogmget。您更可能想要的是将数据存储在list中,并使用i引用list。尝试检查this question 和第一个答案。或在论坛中搜索[ggplot][for-loop]。 This question 也可能有帮助。
标签: r