对具有不同时间粒度的合并数据集应用optim {stats}

时间:2016-04-13 17:43:46

标签: r optimization merge statistics

我已准备好以下data.frame:

parseMessage :: String -> SpecificDataStructure

type Path = String
parseFile :: Path -> [SpecificDataStructure]
parseFile what_do_I_need_here?

由于> head(DF) time x y 33.8351 NA 952.7843 40 1030 NA 40.11 1031 NA 40.22 1039 NA 40.32 1046 NA 40.43 1053 NA 值,NA给出了以下错误:

optim

那我该怎么办?创建一个带有舍入值的数据集以获得最小数量的已填充行并删除其余行数?我很傻。

编辑:我正在尝试使用两个参数最小化数据的残差平方和。

Error in optim(par = c(0, 1), min.RSS, data = DF) : 
function cannot be evaluated at initial parameters

想象一下这样的问题:数据集A中包含有限数量的数据点和一条曲线(数据点集B大得多)。目的是重新调整曲线,使其与数据集A最佳地吻合。重新缩放是线性模型,我尝试优化线性方程的斜率和y截距。

1 个答案:

答案 0 :(得分:0)

插入数据。这里我们使用最后注释中显示的DF。下面我们使用zoo包中的na.locf。另请参阅同一个程序包中的na.approxna.spline以了解其他插值方案。

library(zoo)
lm(y ~ x, na.locf(DF))

,并提供:

Call:
lm(formula = y ~ x, data = na.locf(DF))

Coefficients:
(Intercept)            x  
      952.8          0.0  

注意:可重复形式的输入DF为:

Lines <- "time       x        y
33.8351   NA 952.7843
40      1030       NA
40.11   1031       NA
40.22   1039       NA
40.32   1046       NA
40.43   1053       NA"
DF <- read.table(text = Lines, header = TRUE)