创建用于使用for和read.csv获取数据的函数

问题描述

我正在尝试创建一个功能,以直接从该机构的网站捕获数据集和数据。

我可以使用()函数为每个数据系列生成url,但是当使用read.csv和return函数时,它仅返回第一个结果。

使用print()函数时,它将重新安装所有期望的结果,它们是独立的,但是我无法将其保存为对象。我尝试过使用几种方法来使用函数,但是根本无法使用

有人可以帮忙吗

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','4'),start.date = '01/01/2013',final.date =  '01/07/2020',name = c('1','3','4'))

每个输入序列的API地址输出均已成功执行。

> url.test
[[1]]
[1] "http://example25351part1&start.date=01/01/2013&final.date=01/07/2020"
[2] "http://example25352part1&start.date=01/01/2013&final.date=01/07/2020"
[3] "http://example25353part1&start.date=01/01/2013&final.date=01/07/2020"
[4] "http://example27645part1&start.date=01/01/2013&final.date=01/07/2020"

使用return函数的输出仅返回列表中的第一项

> url.test
[[1]]
        Data 1
1 01/01/2013 19.94
2 01/02/2013 19.98

使用打印功能的输出唯一地返回所有值

[[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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...