我在下面有这个矩阵
k
[,1] [,2] [,3] ,4][,5] [,6]
[1,] 1 4 9 16 25 36
[2,] 1 3 7 13 21 31
[3,] 2 2 5 10 17 26
[4,] 4 2 4 8 14 22
[5,] 7 3 3 6 11 18
[6,] 11 5 3 5 9 15
我想循环从 开始k[1,1]
和结束k[6,6]
。我的循环标准基于,min(k[i,j+1], k[i+1,j], k[i+1, j+1])
我希望得到的答案类似于1+1+2+2+3+3+5+9+15 = 41
(通过最小路径旅行)
所以几乎它计算最小值从开始k[1,1]
然后继续向下直到k[6,6]
warpingDist = function(x, y, z){
mincal = numeric(length(k))
m = nrow(k)
n = ncol(k)
i=1
j=1
mincal = which(k == min(k[i, j+1], k[i+1, j], k[i+1, j+1]), arr.ind = TRUE)
indx = data.frame(mincal)
i= indx$row
j= indx$col
if(i != m || j!=n)
{
warpingDist(k[i, j+1], k[i+1, j], k[i+1, j+1])
}
warpSum = sum(mincal)
return(warpSum)
}
value = apply(k, c(1,2), warpingDist)
value
当我运行此代码时,它显示以下内容:
Error: object 'value' not found
不知道为什么会这样……