1

我已经使用 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 中创建时间图,以显示特定区域的“平均值”值随时间(年、月)的差异?

4

1 回答 1

1

如果您的数据定义如下:

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])
于 2012-07-10T16:20:34.913 回答