List 使用for和read.csv创建获取数据的函数
我正在尝试创建一个函数,直接从机构的网站捕获集合和数据 我可以使用for()函数为每个数据系列生成URL,但是当使用read.csv和return函数时,它只返回第一个结果 当使用print()函数时,它会将所有需要的结果重新装载为独立结果,但我无法将其保存为对象。我尝试了几种使用函数的方法,但根本不起作用 有人能帮忙吗List 使用for和read.csv创建获取数据的函数,list,function,for-loop,read.csv,List,Function,For Loop,Read.csv,我正在尝试创建一个函数,直接从机构的网站捕获集合和数据 我可以使用for()函数为每个数据系列生成URL,但是当使用read.csv和return函数时,它只返回第一个结果 当使用print()函数时,它会将所有需要的结果重新装载为独立结果,但我无法将其保存为对象。我尝试了几种使用函数的方法,但根本不起作用 有人能帮忙吗 getData <- function(serie, start.date='', final.date='', name=''){
getData <-
function(serie, start.date='', final.date='', name=''){
for(i in serie){
urlbase <-
list(paste('http://example',
serie,
'part1',
'&start.date=',
start.date,
'&final.date=',
final.date,
sep = ''))
#return(urlbase)
}
for(n in 1:length(urlbase[[1]])){
df <- list()
df <- list(read.csv(urlbase[[1]][n],
sep = ';', dec = ',', nrows = 2,
col.names = c('Date', name[n])
)
)
return(df)
}
}
url.test <- getData(serie = c('1', '2', '2', '4'),
start.date = '01/01/2013',
final.date = '01/07/2020',
name = c('1','2','3', '4'))
使用return函数的输出仅返回列表中的第一项
> url.test
[[1]]
Data 1
1 01/01/2013 19.94
2 01/02/2013 19.98
使用print函数的输出将唯一地返回所有值
[[1]]
Date 1
1 01/01/2013 19.94
2 01/02/2013 19.98
[[1]]
Date 2
1 01/01/2013 15.22
2 01/02/2013 15.12
[[1]]
Date 3
1 01/01/2013 25.70
2 01/02/2013 25.93
[[1]]
Date 4
1 01/01/2013 17.58
2 01/02/2013 17.42
[[1]]
Date 1
1 01/01/2013 19.94
2 01/02/2013 19.98
[[1]]
Date 2
1 01/01/2013 15.22
2 01/02/2013 15.12
[[1]]
Date 3
1 01/01/2013 25.70
2 01/02/2013 25.93
[[1]]
Date 4
1 01/01/2013 17.58
2 01/02/2013 17.42