我想,以填補我創建的空矩陣具有循環:[R填幾個空矩陣與循環
首先,我創建了我的空matrizes,工作正常:
for(q in (15:30)){
assign(paste0("P",q), matrix(, nrow = q, ncol = q+1))}
但現在當我想與我的公式來填充這些矩陣,我得到一個錯誤的尺寸:
for(c in (1:q+1)){
for(i in (1:q)){assign(paste0("P",q)[i,c],
((((((q-c) + 1 -(q-c+1- i))/q)^.69)/(((((q-c) + 1 - (q-c+1-i))/q)^.69+(((1 - ((q-c) + 1 -(q-c+1-i))/q))^.69))^(1/.69))) - (((((q-c)-(q-c+1-i))/q)^.69)/(((((q-c) - (q-c+1-i))/q)^.69+(((1 - ((q-c)-(q-c+1-i))/q))^.69))^(1/.69)))))}}}
不過當我使用這個循環爲它的工作原理例如,單個矩陣:
t <- 20
c <- 1
i <- 1
for(c in (1:t+1)){
for(i in (1:t)){P20[i,c]<-((((((t-c) + 1 -(t-c+1-i))/t)^.69)/
(((((t-c) + 1 - (t-c+1-i))/t)^.69+(((1 - ((t-c) + 1 -(t-c+1-i))/t))^.69))^(1/.69))) -
(((((t-c)-(t-c+1-i))/t)^.69)/(((((t-c) - (t-c+1-i))/t)^.69+(((1 - ((t-c)-(t-c+1-i))/t))^.69))^(1/.69))))}}
該公式是根據積累前景理論給出概率權重,如果任何人有興趣。
你們有什麼想法讓我更優雅嗎?我應該更好地編寫一個用戶定義的函數嗎?
你一定要一個'for'循環,就可以做到這一點沒有 – jamieRowen
我非常樂意做到這一點沒有循環 – Max