4

我有一个数据库,其中包括 1985 年至 2012 年不同年份的法律。我想为每一年制作不同的 17 个图(因此,制作一个函数),其中包括其值和前几年,并为每个图保持相同的 x 和 y 轴设计,如您所见在下图中:

http://i.imgur.com/QttRuSl.png?1

这就是我在 1985 年至 2012 年之间制作上图的方式:

> v <- ddply(leg.by.melt, .(year), summarise, count = sum(value))
> v
   year count

    1  1985     2
    2  1987     5
    3  1988     9
    4  1989    12
    5  1990    14
    6  1991    11
    7  1992    16
    8  1993    23
    9  1994    25
    10 1995    10
    11 1996    11
    12 1997    24
    13 1998    35
    14 1999    32
    15 2000    24
    16 2001    22
    17 2002    65
    18 2003    42
    19 2004    56
    20 2005    42
    21 2006    47
    22 2007    36
    23 2008    16
    24 2009    54
    25 2011    28

> ggplot(v, aes(x = year, y = count)) 
+ theme_bw() 
+ geom_contour(colour = "black", lty = 3, lend = 2, lwd = 1, stat = "identity") 
+ scale_x_continuous(breaks = round(seq(min(v$year), max(v$year), by = 1),1)) 
+ scale_y_continuous(breaks = round(seq(min(v$count), max(v$count), by = 3),1)) 
+ theme(axis.text.x = element_text(angle = 0, vjust = 0.2))

正如我之前写的,我想要有不同的 17 个图 - 1985 年、1985+1986 年、1985+1986+1987 年等等,并且仍然具有相同的 x 和 y 轴设计(x 轴从1985:2012 和 y 轴从 2 到 65)。

如何制作一个功能来实现它?

4

1 回答 1

5

如果您调用 plot p,我会执行以下操作,

plyr::l_ply(v$year, function(.year) p %+% subset(v, year <= .year), .print=TRUE)
于 2013-09-01T13:55:02.240 回答