我是R的新手,我正在尝试使用 rnoaa 来提取信息。
我有两个日期:
我需要提取Ann Arbor MI,New Haven CT和加利福尼亚州洛杉矶的每日天气预报值。我有这三个城市的站点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 。
答案 0 :(得分:2)
这是我对你要求的尝试。
电台ID必须将数据提示作为带冒号的前缀,因此GHCND:USC00200230
代替USC00200230
您无法将datacategoryid传递给ncdc
函数。请参阅API的文档here
例如,获取降水数据:
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
,则会获得所有数据类型的数据。