2014-02-11 2 views
1

У меня есть матрица 37x19 moavg как этотРасширить сетку в R

 [,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 

сконструированного соответствие значений в ф.р. $ moavg с 10 града сеткой.

Что бы я хотел сделать, так это развернуть эту матрицу, как если бы она была сделана с разрешением 1 град, чтобы получить матрицу 361x181.

Большое спасибо,

+0

Ваши переменные 'space' и' df' здесь не определены. Пожалуйста, покажите нам свои ценности. В противном случае ваш код не запускается. – jlhoward

+0

ОК, так что это совершенно другой вопрос. Вы все еще хотите, чтобы уровень накладывался на карту мира? Я не понимаю, почему вы удалили свой код? – jlhoward

+0

Вы хотите рассчитать интерполированные значения для новых ячеек? Или просто пересечь строку 'NA' и cols? Кроме того, почему у вас есть 37 строк, а не 36, если вы выбираете значения с равными интервалами в 10 градусов? Вы пробовали из краев ячеек, а не центров? Если это так, то -180 - это то же место, что и +180. – jbaums

ответ

1

Предполагая, что вы хотите вставить 9 строк NA между последующими строками исходной матрицы (в общей сложности 37 + 36 * 9 = 361 строк), и вставьте 9 столбцов из NA между последующими столбцы исходной матрицы (всего 19 + 18 * 9 = 181 столбцов), следующее должно сделать трюк.

Я применил @ flodel's 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)] 
Смежные вопросы