для построения цикла в списке фрейма данных - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу сделать несколько сюжетов.

Итак, я разделил фрейм данных и попытался 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 голосов
/ 10 сентября 2018

Трудно найти определенный ответ без воспроизводимого примера. Однако вы можете попробовать следующее решение, которое не требует разделения данных в первую очередь:

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().

...