假设我们的数据框f
包含两列x
和y
,其中f$x
中的所有值都按升序排列。我们可以将它视为函数y(x)。
我想对像数学意义上的函数这样的数据帧执行算术运算。例如:
# f1 stores points of y1(x)
# f2 stores points of y2(x)
f3 <- 2*f1 + 3*f2
# now f3 stores points of y3(x) = 2*y1(x) + 3*y2(x)
如果x
数组对于所有函数都相同,则没有问题,但在我的情况下,它们可以表示具有不同点密度的不同范围。
所以我需要在定义两个函数的区间内工作并进行插值(线性足够)以获得已知点之间的函数值。
是否有任何已经实施的软件包?
答案 0 :(得分:2)
动物园图书馆有一个简单的样条曲线插值函数,它可能很有用。这将允许具有相似的范围。
library(zoo)
my.df <-matrix(c(1:5,NA),ncol=2,nrow=15)
na.spline(my.df)
[,1] [,2]
[1,] 1.000000 4.000000
[2,] 2.000000 5.000000
[3,] 3.000000 2.767553
[4,] 4.000000 1.000000
[5,] 5.000000 2.000000
[6,] 3.002711 3.000000
[7,] 1.000000 4.000000
[8,] 2.000000 5.000000
[9,] 3.000000 2.997556
[10,] 4.000000 1.000000
[11,] 5.000000 2.000000
[12,] 3.017224 3.000000
[13,] 1.000000 4.000000
[14,] 2.000000 5.000000
[15,] 3.000000 5.932149