我想将一组表示为向量的 n 值插入到矩阵中相应的一组位置中。实际应用涉及将一组 n 个海面温度值插入一个区域的图像中,该区域表示为尺寸为 nrow x ncol > n 的网格,我已经确定了应该接收温度值的 n 个水像素. 我遇到的问题是温度值的排序就好像它们来自列优先矩阵,而不是用于索引 R 网格的行优先排序。
这是我的意思的玩具示例。
> grid <- matrix(0,4,4)
> grid # define the base grid
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 0 0 0 0
[3,] 0 0 0 0
[4,] 0 0 0 0
> temps <- c(9,9,9,9,9) # we have 5 temperature values
> locs <- c(2,3,4,6,7) # locations in the base grid that are water
> grid[locs] <- temps # not really what I want - substitution in row-major order
> grid
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 9 9 0 0
[3,] 9 9 0 0
[4,] 9 0 0 0
期望的结果是:
[,1] [,2] [,3] [,4]
[1,] 0 9 9 9
[2,] 0 9 9 0
[3,] 0 0 0 0
[4,] 0 0 0 0
我想我可以玩转置网格,进行替换然后将其转回,但我认为会有更好的方法来解决这个问题。