我试图在 2 个时间序列之间插入超出概率,时间在这里并不重要。
data1<-c(10,11,12,13,14,15)
data2<-c(20,21,22,23,24,25)
x<-c(1,2)
elevation<-c(10,11,20,24,25)
elevation<-data.table(elevation)
其中 x[1] 是 data1 的 x 参数,data1 是该位置的值。考虑 1 英里和 2 英里。海拔是从 data1 的最小值到 data2 的最大值的序列。
我想在 1.5 英里处插入所有超出概率。我尝试过的是:
data1prob<-ecdf(data1)
data2prob<-ecdf(data2)
elevation[,prob:=1-as.numeric(approx(x = x, y =c(data1prob(elevation),data2prob(elevation)), xout = 1.5)[2])]
我收到错误:
.approxfun(x, y, v, method, yleft, yright, f) 中的错误:(列表)对象不能被强制输入“double”
这是从电话data1prob(elevation)
。我相信调用高程向量而不是每行的单独高程值。当我这样做时我没有任何问题elevation[,prob:=elevation-as.numeric(approx(x = x, y =c(5,6), xout = 1.5)[2])]
,但是当我尝试时我会这样做 elevation[,prob:=data1prob(elevation)]
。
感谢您的任何意见。