用于数据帧列表中的循环图

时间:2018-09-10 01:55:37

标签: r dataframe ggplot2 split

我想作多个图。

所以我拆分了数据帧,并尝试进行ggplot。

linkid <- unique (orgin_dat$stdLinkId)
temp <- split(orgin_dat, orgin_dat$stdLinkId)

p1 <-  ggplot(temp$`1550007100`, aes(x=datetime, y=linkSpeed)) +
  geom_line() +
  ggtitle(linkid[i])
## it works

p1 <-  ggplot(temp$linkid[1], aes(x=datetime, y=linkSpeed)) +
  geom_line() +
  ggtitle(linkid[i])
## it doesn't work

我的目标是

for(i in 1:50){
  assign(paste(p, i, sep=""), 
  ggplot(temp$linkid[i], aes(x=datetime, y=linkSpeed)) +
    geom_line() +
    ggtitle(linkid[i]))
}
## it doesn't work

谢谢。

1 个答案:

答案 0 :(得分:0)

如果没有可复制的示例,很难得出明确的答案。但是,您可以尝试以下不需要首先拆分数据的解决方案:

for (i in unique(orgin_dat$stdLinkId)){
  assign(paste0("p", i),
  ggplot(filter(orgin_dat, stdLinkId == i),
         aes(x=datetime, y=linkSpeed)) +
  geom_line() +
  ggtitle(paste0(i))
}

注意:library(dplyr)需要filter()

相关问题