嵌套数据框架

时间:2013-10-15 00:15:03

标签: r list loops dataframe sequence

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

我想知道的是:

  1. 如何将开始和结束日期参数传递给函数中的 应用式时尚
  2. 如何整齐地存储结果数据框(如| date | data.frame.pointer |的表)
  3. 以下是一些代码:

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

    感谢您的帮助。我一直试图弄清楚如何做几个小时无济于事。

1 个答案:

答案 0 :(得分:2)

对于你想要的,mapply会做到这一点:

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

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