for 루프를 사용하지 않고 행렬을 선형 보간하려면 R에서 interp1 함수를 사용하려고합니다. 지금까지 나는 시도했다 :행렬에 대해 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)
그래서 여기서 for 루프의 행렬마다 interp1을 사용했다. for 루프를 사용하지 않고 어떻게이 작업을 수행 할 수 있는지 알고 싶습니다. 다음 I는 행렬 전치 의해 매트랩이를 수행 할 수
layerT = interp1(depthTemp,Temp',layerZ)'; % matlab code
을하지만 R에서 이렇게 할 때
layerT <- interp1(depthTemp,t(Temp),layerZ)
는 보간 결과의 매트릭스이지만 숫자 배열을 반환하지 . R이 보간 된 값의 행렬을 반환하도록하려면 어떻게해야합니까?