0
我很难在一个循环内创建多个ggplots的子集数据。目的是为每个唯一的id值创建一个图表。 我相信问题在于fill = reason,我相信它也需要子集。在ggplot循环和子集
## Calendar plot loop
id.calendar <- function(daily, na.rm = TRUE, ...){
myid <- unique(daily$id)
for (i in seq_along(myid)) {
calendar <-
ggplot(subset(dat, dat$id==myid[i]),
aes(monthweek, weekdayf, fill = reason)) +
geom_tile(colour = "grey80") +
facet_grid(year~monthf)
print(calendar)
}
}
Error: Insufficient values in manual scale. 9 needed but only 6 provided.
DAT $ ID是一个字符串(虽然它可能会被转换为数字)。我在这个论坛上的某处读到,子集化最好在ggplot之外完成。无论如何,我需要循环快。
(http://stackoverflow.com/questions/ 5963269) – zx8754
我认为这对于(我在seq_along(myid))'应该是'for(我在myid中)'? seq_along给出1:n的数字,例如:'seq_along(letters [1:3])' – zx8754
道歉为不包括一个可重复的例子(我通常这样做)。 –