for data plot in data list of data frame

问题描述 投票:-1回答:1

我想制作多个情节。

所以我分割数据框,并尝试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

谢谢。

r dataframe ggplot2 split
1个回答
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()

© www.soinside.com 2019 - 2024. All rights reserved.