在R中展开网格

时间:2014-02-11 10:52:59

标签: r

我有一个像这样的矩阵37x19 moavg

      [,1] [,2] [,3]     [,4]      [,5]      [,6]     [,7]     [,8]     [,9]
 [1,]   NA   NA   NA       NA  9.182353 15.257692       NA       NA       NA
 [2,]   NA   NA   NA       NA 10.200000 13.450000       NA       NA       NA
 [3,]   NA   NA   NA       NA 12.696000 12.696000       NA       NA       NA
 [4,]   NA   NA   NA       NA 11.966667        NA       NA       NA       NA
 [5,]   NA   NA   NA       NA 11.807692        NA       NA       NA       NA
 [6,]   NA   NA   NA       NA  9.600000 19.601408 25.10789 27.34386 26.81277
 [7,]   NA   NA   NA       NA 12.102857 15.977778 25.10789 26.18750 26.41600
 [8,]   NA   NA   NA       NA 11.566667 18.575000 24.40000 26.18750 25.80000
 [9,]   NA   NA   NA       NA 11.566667 17.533333       NA 24.02500       NA
[10,]   NA   NA   NA       NA 12.225806 18.700000 20.94000 22.81571       NA
[11,]   NA   NA   NA 7.616667 13.700000 17.271429 20.94000 23.05000 20.20000
[12,]   NA   NA   NA 7.133333        NA 17.271429 17.27143 23.05000       NA
[13,]   NA   NA   NA 7.133333  7.900000 21.340000       NA       NA       NA
[14,]   NA   NA   NA       NA 11.540000 21.514286 21.34000 24.60000       NA
[15,]   NA   NA   NA       NA 11.540000 21.514286 21.51429       NA       NA
[16,]   NA   NA   NA       NA        NA 12.633333 24.36429 25.43333 26.17027
[17,]   NA   NA   NA       NA        NA 13.275000 23.19412       NA 26.17027
[18,]   NA   NA   NA       NA        NA 13.275000 23.19412 21.89091 23.51481
[19,]   NA   NA   NA       NA        NA 14.500000 19.81364 21.50000 21.50000
[20,]   NA   NA   NA       NA        NA 19.995833 18.92000 19.81364       NA
[21,]   NA   NA   NA       NA        NA 21.608333 18.92000       NA       NA
[22,]   NA   NA   NA       NA  8.714286 22.160000 26.27059       NA       NA
[23,]   NA   NA   NA       NA  6.775000  6.775000 26.25714 27.78000 26.85833
[24,]   NA   NA   NA       NA        NA  8.266667 27.00769 27.00769       NA
[25,]   NA   NA   NA       NA 11.820000 11.820000 26.89231 26.89231       NA
[26,]   NA   NA   NA       NA 11.820000 16.647059 26.24091 26.88000       NA
[27,]   NA   NA   NA       NA 13.105263 17.291667 25.74000 26.75000 26.75000
[28,]   NA   NA   NA       NA 11.225000 17.069231 23.53750 25.85556 28.00874
[29,]   NA   NA   NA       NA 11.225000 19.040000 22.13846 26.63333 28.03111
[30,]   NA   NA   NA       NA 11.800000 18.317391 23.18000 30.14583 28.26000
[31,]   NA   NA   NA       NA 11.300000 16.931818 18.31739 30.14583 28.45833
[32,]   NA   NA   NA       NA 12.350000 17.600000       NA       NA       NA
[33,]   NA   NA   NA       NA 13.711765 17.161538       NA       NA 28.90000
[34,]   NA   NA   NA       NA 14.882143 19.306667 24.72308 24.72308       NA
[35,]   NA   NA   NA       NA 12.765854 18.730769       NA 27.14167 27.14167
[36,]   NA   NA   NA       NA 14.610526 17.780000       NA 30.50000 28.57059
[37,]   NA   NA   NA 9.792857  9.792857 17.780000       NA 30.50000 28.57059
         [,10]    [,11]    [,12]    [,13]     [,14]     [,15] [,16] [,17] [,18]
 [1,] 27.37857       NA       NA       NA        NA        NA    NA    NA    NA
 [2,]       NA 24.85385       NA       NA        NA        NA    NA    NA    NA
 [3,]       NA       NA 22.58235       NA  8.353571        NA    NA    NA    NA
 [4,]       NA       NA 22.58235 16.52857  8.353571  6.738462    NA    NA    NA
 [5,]       NA       NA       NA 16.85714 10.081481 10.081481    NA    NA    NA
 [6,] 26.78810 24.00500 20.81887 13.92955 10.302703 10.302703    NA    NA    NA
 [7,] 26.99815 26.30000 20.81887 20.81887 13.929545 10.302703    NA    NA    NA
 [8,] 27.13333 27.13333 23.26667       NA        NA        NA    NA    NA    NA
 [9,]       NA       NA       NA       NA        NA        NA    NA    NA    NA
[10,]       NA       NA 23.17204 23.17204        NA        NA    NA    NA    NA
[11,]       NA       NA 22.58611 17.04619 17.046186        NA    NA    NA    NA
[12,]       NA       NA 22.58611 17.13750  8.539362        NA    NA    NA    NA
[13,]       NA 26.68772 25.66316 22.88333  8.278431        NA    NA    NA    NA
[14,]       NA 25.34773 25.34773       NA  7.763014  7.763014    NA    NA    NA
[15,] 27.34375 27.13125 23.39167 20.74167 12.051948 12.051948    NA    NA    NA
[16,] 26.64783       NA       NA 20.74167 12.158036 11.638462    NA    NA    NA
[17,] 26.64783 24.06000 21.00000       NA 11.595181 11.238889    NA    NA    NA
[18,]       NA 28.30000       NA       NA 12.080233  9.355556    NA    NA    NA
[19,]       NA       NA       NA       NA 13.155102  6.800000    NA    NA    NA
[20,]       NA       NA       NA       NA 14.672222  6.800000    NA    NA    NA
[21,]       NA       NA       NA 16.25417 16.254167        NA    NA    NA    NA
[22,]       NA       NA       NA 17.04516        NA        NA    NA   2.5    NA
[23,] 25.85000 24.65840 22.28407 22.28407        NA        NA    NA    NA    NA
[24,] 25.85000 24.83901       NA       NA        NA        NA    NA    NA    NA
[25,] 26.71259 26.10385       NA       NA        NA        NA    NA    NA    NA
[26,] 27.15278 26.10385 26.10385       NA        NA        NA    NA    NA    NA
[27,] 27.74274 27.74274       NA       NA        NA        NA    NA    NA    NA
[28,] 28.23939 27.74274       NA       NA        NA        NA    NA    NA    NA
[29,] 26.71053 26.71053       NA       NA        NA        NA    NA    NA    NA
[30,] 26.71053 24.54167 16.08333       NA        NA        NA    NA    NA    NA
[31,] 28.45833 24.54167 20.85000 14.91600 14.916000        NA    NA    NA    NA
[32,] 28.40000 26.65000 20.85000 13.53725 13.537255        NA    NA    NA    NA
[33,] 28.33333       NA       NA 13.79167  9.450000        NA    NA    NA    NA
[34,]       NA       NA       NA       NA 15.000000        NA    NA    NA    NA
[35,]       NA       NA       NA       NA  1.700000        NA    NA    NA    NA
[36,] 30.20000       NA       NA       NA        NA        NA    NA    NA    NA
[37,] 28.57059       NA       NA       NA        NA        NA    NA    NA    NA
      [,19]
 [1,]    NA
 [2,]    NA
 [3,]    NA
 [4,]    NA
 [5,]    NA
 [6,]    NA
 [7,]    NA
 [8,]    NA
 [9,]    NA
[10,]    NA
[11,]    NA
[12,]    NA
[13,]    NA
[14,]    NA
[15,]    NA
[16,]    NA
[17,]    NA
[18,]    NA
[19,]    NA
[20,]    NA
[21,]    NA
[22,]    NA
[23,]    NA
[24,]    NA
[25,]    NA
[26,]    NA
[27,]    NA
[28,]    NA
[29,]    NA
[30,]    NA
[31,]    NA
[32,]    NA
[33,]    NA
[34,]    NA
[35,]    NA
[36,]    NA
[37,]    NA

构造匹配df $ moavg中的值与10度网格。

我想要做的是扩展这个矩阵,好像它是用1度分辨率制作得到矩阵361x181。

非常感谢,

1 个答案:

答案 0 :(得分:1)

假设您要在原始矩阵的后续行之间插入9行NA(总共37 + 36 * 9 = 361行),并在后续行之间插入9列NA原始矩阵的列(总共19 + 18 * 9 = 181列),以下应该可以解决问题。

我已经应用了@ flodel的suggestion to use kronecker()来重新排序矩阵列。

# Create a dummy matrix with dimensions 37x19
m <- matrix(1, nr=37, nc=19)
# Bind 324 rows of NA to the bottom, and reorder such that
#  the NAs are interspersed correctly. 
m2 <- rbind(m, matrix(NA, nr=361-37, nc=19))[c(kronecker(1:36, c(0, 37:45), "+"), 37), ]
# Bind 162 columns of NA to the right, and reorder.
m3 <- cbind(m2, matrix(NA, nr=361, nc=181-19))[, c(kronecker(1:18, c(0, 19:27), "+"), 19)]