我先来试试第一个问题
我对第一个问题的理解是,画出各年每个月分里面的下雨量的图。
首先,生成一个名为date的日期变量:
Sys.setlocale("LC_TIME", "C") #set the time zone;
kew$date <- as.Date(paste(1, kew$Month, kew$Year), format="%d %b %Y")
为了便于分析,我们把变量里面的月分提取出来,这样可以得到一个数字形式的月分:
kew$month <- substr(as.character(kew$date),6,7)
现在得到如下形式的数据:
Month Year Rain date month
1 Jan 1900 74.400000 1900-01-01 01
2 Feb 1900 80.500000 1900-02-01 02
3 Mar 1900 23.600000 1900-03-01 03
4 Apr 1900 23.600000 1900-04-01 04
5 May 1900 25.100000 1900-05-01 05
6 Jun 1900 53.300000 1900-06-01 06
7 Jul 1900 31.700000 1900-07-01 07
8 Aug 1900 67.300000 1900-08-01 08
9 Sep 1900 26.400000 1900-09-01 09
10 Oct 1900 40.900000 1900-10-01 10
然后,统计每个月里面的平均下雨量(这里用到的是doBy Package里面的summaryBy函数):
library(doBy)
myFun <- Function(x) {c(ave=mean(x), sd=sd(x))}
a <- summaryBy(Rain~month,data=kew, FUN=myFun)
下面就a进行画图:
library(ggplot2)
p <- ggplot(a, aes(x=month,y=Rain.ave))
p+geom_point()
得到如下图所示的图:
把图修饰修饰得到如下的图:
再研究研究第二个问题。