【发布时间】:2018-02-22 09:50:37
【问题描述】:
我正在使用 R 包 rnoaa(连同它所需的其他包)来收集历史天气数据。我编写了这个嵌套循环来收集所有数据集,但是当我运行它时我不断收到错误。它似乎要罚款第二次
循环:
require('triebeard')
require('bindr')
require('colorspace')
require('mime')
require('curl')
require('openssl')
require('R6')
require('urltools')
require('httpcode')
require('stringr')
require('assertthat')
require('bindrcpp')
require('glue')
require('magrittr')
require('pkgconfig')
require('rlang')
require('Rcpp')
require('BH')
require('plogr')
require('purrr')
require('stringi')
require('tidyselect')
require('digest')
require('gtable')
require('plyr')
require('reshape2')
require('lazyeval')
require('RColorBrewer')
require('dichromat')
require('munsell')
require('labeling')
require('viridisLite')
require('data.table')
require('rjson')
require('httr')
require('crul')
require('lubridate')
require('dplyr')
require('tidyr')
require('ggplot2')
require('scales')
require('XML')
require('xml2')
require('jsonlite')
require('rappdirs')
require('gridExtra')
require('tibble')
require('isdparser')
require('geonames')
require('hoardr')
require('rnoaa')
install.package('ncdf4')
install.packages("devtools")
library(devtools)
install_github("rnoaa", "ropensci")
library(rnoaa)
list <- buoys(dataset='wlevel')
lid <- data.frame(list$id)
foo <- for(range in 1990:2017){
for(bid in lid){
bid_range <- buoy(dataset = 'wlevel', buoyid = bid, year = range)
bid.year.data <- data.frame(bid.year$data)
write.csv(bid.year.data, file='cwind/bid_range.csv')
}
}
回应:
Using c1990.nc
Using
Error: length(url) == 1 is not TRUE
它会保存第一个数据集,但不会在文件名中应用 for,它只是将其命名为 bid_range.csv。
【问题讨论】:
-
对于
write.csv(),请检查您的工作目录,或尝试指定完整的文件路径。 -
另外,不要用点命名文件,使用下划线或破折号 bid_year.csv 或 bid-year.csv
-
我做了这些更改并添加了令牌密钥仍然无效
-
连同它所需的其他软件包...对于Minimum, Complete and Verifiable Example (MCVE),包括所有相关代码,包括
library行和数据输入。请确保它可以自行运行以供我们复制。 -
这是完整的#Parfait,在此先感谢您的关注