0

我对 R 真的很陌生,我正在尝试使用rnoaa来提取信息。

我有一组两个日期:

  • 2013 年 9 月 3 日至 30 日
  • 2013 年 12 月 3 日至 31 日

我需要提取密歇根州安娜堡、康涅狄格州纽黑文和加利福尼亚州洛杉矶的每日天气值。我有这三个城市中每一个的车站 ID,它们分别是:USC00200230、US090004、US060013。

有人可以帮我提取每日最低温度、最高温度、湿度、降水和阳光的值吗?

到目前为止,我刚刚能够访问数据库:

library(rnoaa)  #get rnoaa from your R library to run
library(devtools)
options(noaakey= "mykey") 

我知道要获取信息,我必须输入以下格式的内容:

noaa(datasetid='NORMAL_DLY', stationid='putinstationidhere', datacategoryid="TEMP")

我只是不了解这个数据库的架构,因为我一直使用在线版本,而且我对 R 中的编码非常陌生。这方面的文档也非常稀少,所以我希望这里有人知道如何很好地使用rnoaa .

4

1 回答 1

2

这是我对您要求的尝试。

站 id 必须将 datasetid 作为带冒号的前缀,所以GHCND:USC00200230不是USC00200230

您不能将 datacategoryid 传递给ncdc函数。在此处查看 API 文档

例如,获取降水数据:

out <- ncdc(datasetid='GHCND', datatypeid = 'PRCP', stationid='GHCND:USC00200230', startdate = "2013-09-03", enddate = "2013-09-30", limit=30)
head(out$data)

             station value attributes datatype                date
1  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-03T00:00:00
2  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-04T00:00:00
3  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-05T00:00:00
4  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-06T00:00:00
5  GHCND:USC00200230     8   ,,7,1800     PRCP 2013-09-07T00:00:00
6  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-08T00:00:00    

另一个例子,获取最低温度

out <- ncdc(datasetid='GHCND', datatypeid = 'TMIN', stationid='GHCND:USC00200230', startdate = "2013-09-03", enddate = "2013-09-30", limit=30)
head(out$data)

             station value attributes datatype                date
1  GHCND:USC00200230   139   ,,7,1800     TMIN 2013-09-03T00:00:00
2  GHCND:USC00200230   128   ,,7,1800     TMIN 2013-09-04T00:00:00
3  GHCND:USC00200230   111   ,,7,1800     TMIN 2013-09-05T00:00:00
4  GHCND:USC00200230    83   ,,7,1800     TMIN 2013-09-06T00:00:00
5  GHCND:USC00200230   139   ,,7,1800     TMIN 2013-09-07T00:00:00
6  GHCND:USC00200230   183   ,,7,1800     TMIN 2013-09-08T00:00:00

如果您省略了,datatypeid您将获得所有数据类型的数据。

于 2014-02-27T19:20:41.323 回答