【问题标题】:R function with a dynamic URL具有动态 URL 的 R 函数
【发布时间】:2022-01-10 22:54:59
【问题描述】:

请帮助 R 新手完成一项任务! 我需要编写一个函数,采用单个参数 year,它从网站的 csv 文件中读取数据。这些 csv 文件可在以下地址获得,其中只有年份部分发生变化:'https://www.nbp.pl/kursy/Archiwum/archiwum_tab_a_2020.csv'

我正在尝试将 URL 分成几部分,然后将它们 paste() 在一起,包括来自函数的年份输入。我的代码如下。但这会导致以下错误: urlPart1 + urlYear 中的错误:二进制运算符的非数字参数

我怎样才能克服这个错误,或者你能告诉我任何其他的方法,也许是一些正则表达式?另外恐怕我们不允许使用不同的花哨的包。

my_func <- function(year) {
  urlPart1 = 'https://www.nbp.pl/kursy/Archiwum/archiwum_tab_a_'
  urlYear = year
  urlPart2 = '.csv'
  url = paste(urlPart1, urlYear, urlPart2, sep = “”)
  d = read.table(url, header = TRUE, sep = ';', fill = TRUE)
}
print(my_func(2018))

【问题讨论】:

    标签: r url


    【解决方案1】:

    问题似乎来自 qhere you paste the url together。 sep 参数的引号似乎是一些不被接受的本地版本。你可以试试:

    my_func <- function(year) {
      urlPart1 = 'https://www.nbp.pl/kursy/Archiwum/archiwum_tab_a_'
      urlYear = year
      urlPart2 = '.csv'
      url = paste(urlPart1, urlYear, urlPart2, sep = '')
      d = read.table(url, header = TRUE, sep = ';', fill = TRUE)
    }
    print(my_func(2018))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-29
      • 1970-01-01
      • 2021-12-02
      • 2016-03-13
      • 2019-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多