【发布时间】:2015-02-14 14:07:56
【问题描述】:
我试图从这段代码中得到一些组合:具体来说,我希望对于每个行动主义级别,我拥有一个资产的所有组合都得到所有超重,而所有其他资产得到相等权重过低(所以向上:+activism[i];向下:-activism[i]/4)
这个想法是减少所有现有的权重 (1),然后只提出需要提高的权重 (2)。
activism=c(0.05,0.1,0.2,0.5);
length(activism);
weights=c(0.2,0.2,0.2,0.2,0.2);
portfolio=matrix(nrow=20,ncol=5);
for (i in 20) {
for (j in length(activism)){
for(k in length(weights)){
portfolio[i,k]=weights[k]- activism[j]/(length(weight)-1)
}}}`
代码不起作用有两个原因: 1)我从第(1)部分得到一个完全不同的表 2) 我不知道如何设置第 (2) 部分中的“如果”,尽管我尝试查找尽可能多的指南。
我意识到这可能是一个简单的问题,但所有其他类似的问题都是用不同的语言(C/python 等)编写的,我对编程代码不太熟悉。
【问题讨论】:
-
这有点技术性。您能否进一步简化问题并给出所需的输出?您能否提供执行您想做的其他程序的参考?
-
我会发布一张图片(第二好的:postimg.org/image/tdp3gjpw9)。绿色的我有我想要得到的东西,左边的红色是我目前的结果。
-
for (i in 1:20)。内循环也一样。