-2

我有一个包装RODBC::sqlQuery的函数,它需要一个开始和结束日期并返回 5 列,每次调用大约有 100 万行。我需要遍历大约 60 个日期的列表,将函数的结果数据帧存储在列表中。

我想知道的是:

  1. 如何以应用样式的方式将开始日期和结束日期参数都传递给函数
  2. 如何整齐地存储生成的数据帧(如 |date|data.frame.pointer| 的表)

这是一些代码:

get.data <- function(date.start, date.end) { ... }
date.range <- seq(as.Date("2009-01-01"), Sys.Date(), by="1 month")

和样本输出:

get.data(date.start="2009-01-01", date.end='2009-02-01')
               date    country    oId    eId       pId
    1    2009-01-01  Australia  12345  12345     12345
    2           ...        ...    ...    ...       ...

谢谢您的帮助。几个小时以来,我一直试图弄清楚如何做到这一点,但无济于事。

4

1 回答 1

2

对于你想要的,mapply会做的伎俩:

n <- length(date.range)
mapply(get.data, date.range[-n], date.range[-1])

这将返回一个列表,其元素是来自 的各个返回值get.data。所以在这种情况下,你会得到一个数据框列表。这可能是存储输出的最合适的方式,但这取决于你想用它做什么。

于 2013-10-15T22:48:26.743 回答