向量V1包含56个X的观测值,向量BS包含长度为100000的V1的自举样本 . 我想在BS中的点内线性插值以填充任何缺失值 . 例如,V1不包含0.27值,因此也不包含BS . 但BS会包含几个0.28和0.26 . 我想插值创建一些0.27值并将其添加到BS . 对于向量中两个极端内的任何缺失值,依此类推 .
V1 <- c(0.18, 0.2, 0.24, 0.35, -0.22, -0.17, 0.28, -0.28, -0.14, 0.03, 0.87, -0.2, 0.06, -0.1, -0.72, 0.18, 0.01, 0.31, -0.36, 0.61, -0.16, -0.07, -0.13, 0.01, -0.09, 0.26, -0.14, 0.08, -0.62, -0.2, 0.3, -0.21, -0.11, 0.05, 0.06, -0.28, -0.27, 0.17, 0.42, -0.05, -0.15, 0.05, -0.07, -0.22, -0.34, 0.16, 0.34, 0.1, -0.12, 0.24, 0.45, 0.37, 0.61, 0.9, -0.25, 0.02)
BS <- sample(V1, 100000, replace=TRUE)
approxfun
函数没有像数据集中的插值那样有用 . 已经找到了一些问题/答案,包括在不同数据集内插值,但不在一个数据集内 . 谢谢您的帮助 .
编辑:请注意我不想适合正态分布(或任何其他)来创建这些点 .
1 回答
您可以使用
approx()
(或approxfun()
)通过将BS
视为y坐标并使用连续的x坐标来执行此操作:n
的规格很重要 . 它确保在每对相邻输入值的中间产生一个内插值 .这是一个结果摘录的图,以第一次出现0.26和0.28的相邻对为中心: