使用R的条件时间图



我使用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])

最新更新