我正在尝试映射随机过程中的值。过去,以下代码使用number_draws
行生成了正确的矩阵,但它不起作用,并给了我以下错误:
Error in X[, i] <- Marginals_Beta_Var[U[, i], i] :
incorrect number of subscripts on matrix
,以及将X变成尺寸为10000x10000的巨大矩阵。代码:
number_draws = 10000
X = matrix(nrow = number_draws, ncol = 18)
for (i in 1:18){
X[,i] = Marginals_Beta_Var[U[, i], i]
}
矩阵U具有用于映射到其他边际的列的索引
> head(U)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
[1,] 30 2 164 486 30 362 317 81 431 197 408 139 106 500 398 199
[2,] 275 40 217 173 172 366 218 205 96 255 184 255 38 328 375 175
[3,] 169 117 407 112 343 38 88 406 266 77 69 483 40 303 136 236
[4,] 245 261 54 364 287 224 320 246 446 71 340 7 250 360 341 75
[5,] 332 356 197 194 248 268 108 133 429 409 121 472 418 473 289 121
[6,] 328 60 160 310 181 411 183 499 339 350 354 28 104 278 444 210
[,17] [,18]
[1,] 98 197
[2,] 469 205
[3,] 117 23
[4,] 39 457
[5,] 362 359
[6,] 329 304
Marginals_Beta_Var有500行和18列,每个都有不同的值。
该代码以前有效。我在函数中调用此函数,也许我弄乱了全局值。
谢谢您的帮助。