0
我想不出如何使用mutate來根據列的子集進行線性插值。我可以使用約功能在for循環中,並得到什麼我要找的,但我得到的錯誤Error in xy.coords(x, y) : (list) object cannot be coerced to type 'double'.
使用mutate基於數據框中列的子集進行插值
df <- data.frame(Jan = rep(0,10), Feb = 1:10, Mar = 2*(1:10), Apr = 3*(1:10), val=c(3,6,2,12,4,8,3,5,22,14))
x <- c(31,60,91,121)
以下爲循環工作原理:
for(i in 1:dim(df)[1])
{
df$m[i] <- approx(cbind(0, df[i,1:4]), x, df$val[i])[2]
}
我想以達到與變異相同的結果
s<-mutate(df, m=approx(cbind(0, df[,1:4]), x, val)[2])
但上面的代碼行給我的錯誤信息。任何幫助解釋我要去哪裏錯了?
for循環示例引發一個錯誤:'錯誤xy.coords(X,Y): 'x' 和 'y' 的長度不同' –