2
我想在R中使用interp1函數來線性插入矩陣而不使用for循環。到目前爲止,我曾嘗試:在R中使用interp1作爲矩陣
bthD <- c(0,2,3,4,5) # original depth vector
bthA <- c(4000,3500,3200,3000,2800) # original array of area
Temp <- c(4.5,4.2,4.2,4,5,5,4.5,4.2,4.2,4)
Temp <- matrix(Temp,2) # matrix for temperature measurements
# -- interpolating bathymetry data --
depthTemp <- c(0.5,1,2,3,4)
layerZ <- seq(depthTemp[1],depthTemp[5],0.1)
library(signal)
layerA <- interp1(bthD,bthA,layerZ);
# -- interpolate= matrix --
layerT <- list()
for (i in 1:2){
t <- Temp[i,]
layerT[[i]] <- interp1(depthTemp,t,layerZ)
}
layerT <- do.call(rbind,layerT)
所以,在這裏我已經在使用interp1在矩陣中的每一行for循環。我想知道如何在不使用for循環的情況下做到這一點。我可以在MATLAB通過轉置矩陣如下做到這一點:
layerT = interp1(depthTemp,Temp',layerZ)'; % matlab code
但是當我試圖做到這一點R中
layerT <- interp1(depthTemp,t(Temp),layerZ)
它不返回的插值結果矩陣,但數字排列。我如何確保R返回插值的矩陣?