0
我試圖插入兩個時間序列之間的超越概率,這裏時間並不重要。R插值data.table的列
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])]
我收到的錯誤:
Error in .approxfun(x, y, v, method, yleft, yright, f) : (list) object cannot be coerced to type 'double'
這是從呼叫data1prob(elevation)
。我相信調用的是高程矢量,而不是每行的單個高程值。 當我做elevation[,prob:=elevation-as.numeric(approx(x = x, y =c(5,6), xout = 1.5)[2])]
時我沒有任何問題,但是當我嘗試elevation[,prob:=data1prob(elevation)]
時例如。
感謝任何輸入。
硬,要知道,如果我的回答工作,因爲你還沒有表現出預期的輸出。 – Frank