首页 > 解决方案 > 如何将时间序列填充转换为 R 中的函数并在列表中运行

问题描述

我是使用 R 的新手。

我有一个数据框,其中包含日期和县列表以及另一个目标变量“t”。我使用 split 函数将数据框拆分为数据框列表。现在我需要用目标“t”的缺失日期和零值填充列表中的每个数据框。

我尝试先创建一个函数,然后使用 lapply。我是创建函数的新手,所以我想我创建函数的方式可能存在错误。

    funct<- function(nn){
    sorted<-nn[order(nn$ds),]
    min <- min(sorted$ds)
    max <- max(sorted$ds)
    dates <- seq(min, max, by="day")
    frame<-data.frame(list(ds=dates))
    merged<-merge(x=frame,y=sorted,by="ds",all.x=TRUE)
    merged$t[which(is.na(merged$t))] <- 0
    return(nn)}

    out <- split( test , f = test$COUNTY_ST ) 

    z<-lapply(out,funct )

这是数据

    ds          t   COUNTY_ST
    2011-01-28  1   la
    2011-01-30  4   la
    2011-01-28  1   mm
    2011-01-30  4   mm

标签: rfunctiontime-serieslapply

解决方案


推荐阅读