我使用Grass计算了多个区域的环境指数的一些统计值,并将其保存为csv文件,目的是使用R根据这些值创建时间图。
我成功地创建了具有以下格式的数据集:
> head(Dataset)
year month zone min max mean stddev coeff_var
1 2000 5 1 0.2735742 0.4776645 0.4300383 0.02908890 6.764259
2 2000 5 2 0.2325166 0.4304893 0.3759373 0.02497549 6.643526
3 2000 5 3 0.2747173 0.4729956 0.4295689 0.02320233 5.401307
4 2000 5 4 0.2891487 0.4878779 0.4350567 0.02775799 6.380316
5 2000 5 5 0.2757515 0.4625435 0.4201794 0.02054300 4.889103
6 2000 5 6 0.2338618 0.4670695 0.4003526 0.02451026 6.122170
. . . . . . . . .
3025 2010 9 55 0.2901262 0.5364349 0.4868686 0.03559649 7.311314
如何在R中创建时间图,显示特定区域的"平均"值随时间(年、月)的差异?
如果您的数据定义如下:
Dataset <- data.frame(year=numeric(6), month = numeric(6),
mean = numeric(6), zone = numeric(6))
Dataset$month <- c(10, 11, 12, 1, 2, 3)
Dataset$mean <- c(.43, .37, .43, .44, .42, .40)
Dataset$zone <- c(1, 1, 1, 1, 1, 1)
可以使用paste
函数定义具有日期对象的新列,并使用as.Date
转换为日期。
Dataset$date <- as.Date(paste(Dataset$year,
Dataset$month,
rep("01", nrow(Dataset)), sep="-"),
format="%Y-%m-%d")
然后使用plot
函数进行绘图
plot(Dataset$mean, Dataset$date)
如果你只想显示一个区域,你可以在绘制时对数据集进行子集设置
plot(Dataset$mean[Dataset$zone == 1], Dataset$date[Dataset$zone == 1])