0

我正在使用新的 R 包 RNOAA 来访问来自 NOAA 的气候数据,目前正在一次执行一个时间段。像这样。

PRCP_2002a<- ncdc(datasetid='GHCND', datatypeid ='PRCP', startdate = '2001-08-13', enddate = '2002-02-13', stationid='x', token = 'x', limit = 500)

我最终得到了一长串上述代码,其中包含许多不同的开始和停止日期,每个时间段使用一行代码手动输入。有没有办法使用 for 循环和 lapply 或类似的东西,从数据框或列表中获取每个开始和停止日期,并且结果对象也从列表或数据框中命名?我大概会读到这样的 csv 文件。

Periods <- read.csv("Climate_dates.csv")
         ID      Start       Stop
1 2002S 2001-08-13 2002-02-13
2 2002F 2002-04-02 2002-10-02
3 2003S 2002-09-19 2003-03-19
4 2003F 2003-04-22 2003-10-22
5 2004S 2003-09-30 2004-03-31
6 2004F 2004-04-20 2004-10-20
7 2005S 2004-09-23 2005-03-23
8 2005F 2005-04-26 2005-10-26

然后一些方法将日期和 ID 按顺序引用为 for 循环或 lapply 或任何迭代。

ID in Periods<- ncdc(datasetid='GHCND', datatypeid ='PRCP', startdate = 'Start in Periods', enddate = 'Stop in Periods', stationid='x', token = 'x', limit = 500)

任何帮助是极大的赞赏。为我的无能道歉。

Pierre 建议了这个解决方案,但它似乎没有为 ncdc 命令提供开始或结束日期。有什么想法吗?

mylst <- apply(Periods[-1], 1, function(x) ncdc(datasetid='GHCND', datatypeid     ='PRCP', startdate = x[1], enddate = x[2], stationid='x', token =     'x', limit = 500))

Warning messages:
1: Error: (400) - Required parameter 'startdate' is missing. 
2: Error: (400) - Required parameter 'startdate' is missing. 
3: Error: (400) - Required parameter 'startdate' is missing. 
4: Error: (400) - Required parameter 'startdate' is missing. 
5: Error: (400) - Required parameter 'startdate' is missing. 
6: Error: (400) - Required parameter 'startdate' is missing. 
7: Error: (400) - Required parameter 'startdate' is missing. 
8: Error: (400) - Required parameter 'startdate' is missing.
4

0 回答 0