我想,以填补我创建的空矩阵具有循环:[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