Я думаю, что это должно быть легко, но я застрял в этом на какое-то время. Мне нужно обновить матрицу с каждой петли следующим образом:Как создать пустую матрицу в R и обновить ее с помощью цикла for?
r <- 4
nlag <- 2
for (i in 1:nlag){
a <- ((i-1)*r)+1
b <- i*r
g <- beta_OLS[c(a:b),1:r]
bb <- as.vector(t(g))
}
Как обновить матрицу бб с г после каждого цикла?
Матрица beta_OLS выглядит следующим образом:
[1,] 0.603443440 0.30405670 -0.002150462 0.0090527541
[2,] -0.003498807 0.16163517 0.056313146 0.0007139815
[3,] 0.319393118 0.13560199 1.079001883 0.0842017718
[4,] -0.043669654 -0.92507425 -0.173706846 0.9019772828
[5,] 0.259785125 0.04053008 0.036206682 -0.0217682012
[6,] 0.029130279 0.13336440 0.034382991 0.0032809117
[7,] -0.277746555 -0.25636900 -0.173245066 -0.0636151668
[8,] 0.046002342 0.48681546 0.131194993 -0.0563989161
И я хочу, выход будет выглядеть в бб:
Каждый 4 X 1 секция уложены один поверх другого.
0.6034
-0.0035
0.3195
0.0437
0.3041
0.1616
0.1356
0.9251
-0.0022
0.0563
1.0790
0.1737
-0.0091
-0.0007
-0.0842
0.9020
0.2598
0.0291
-0.2778
-0.0460
0.0405
0.1334
-0.2564
-0.4868
0.0362
0.0344
-0.1733
-0.1312
0.0218
-0.0033
0.0636
-0.0564
Что нужно для создания пустой матрицы в коде R, MATLAB, для которой так просто?
bb = [];
Мы упускаем много информации здесь, как 'beta_OLS 'или' nlag' –
Вы уверены, что именно так вы хотите это сделать? В R, используя цикл for, почти всегда неправильный путь. – Matthew
Результат, который вы показываете и хотите, не соответствует введенному вами дисплею. Как насчет 'as.vector (beta_OLS)'? или 'matrix (as.vector (beta_OLS), ncol = 1)'? – Bhas