运行 在 R 中进行多次 For-Loop 并将结果保存在数据框中
Run For-Loop multiple times in R and save results in data frame
本人对R和论坛还是比较陌生,有错误的一两处还请见谅。我想要做的是:我想为每个 14 个变量生成 6000 个观测值。
这就是我到目前为止所做的。我已经用适当的长度为每个变量初始化了向量:
#Market1
price_1 <- vector(mode = "numeric", length = 6002)
demandChartist_1 <- vector(mode = "numeric", length = 6000)
demandFundamentalist_1 <- vector(mode = "numeric", length = 6001)
percentFT_Wf_1 <- vector(mode = "numeric", length = 6001)
percentCT_Wc_1 <- vector(mode = "numeric", length = 6001)
fitnessTradingFundamentalist_Af_1 <- vector(mode = "numeric", length = 6001)
fitnessTradingChartist_Ac_1 <- vector(mode = "numeric", length = 6001)
#Market2
price_2 <- vector(mode = "numeric", length = 6002)
demandChartist_2 <- vector(mode = "numeric", length = 6000)
demandFundamentalist_2 <- vector(mode = "numeric", length = 6001)
percentFT_Wf_2 <- vector(mode = "numeric", length = 6001)
percentCT_Wc_2 <- vector(mode = "numeric", length = 6001)
fitnessTradingFundamentalist_Af_2 <- vector(mode = "numeric", length = 6001)
fitnessTradingChartist_Ac_2 <- vector(mode = "numeric", length = 6001)
percentNoTrading <- vector(mode = "numeric", length = 6001)
T <- 1:6000
下一步是设置起始值。
# set the first 4 values for price equal to 0, 1 whatever otherwise we can't compute the previous periods
price_1[1:4] <- 0
price_2[1:4] <- 0
fitnessTradingChartist_Ac_1[1:3] <- 0
fitnessTradingFundamentalist_Af_1[1:3] <- 0
fitnessTradingChartist_Ac_2[1:3] <- 0
fitnessTradingFundamentalist_Af_2[1:3] <- 0
a <- 1
b <- 0.05
c <- 0.05
d <- 0.975
e <- 300
F1 <- 0
F2 <- 0
我已经设法设置 For 循环,以便所有向量都填充随机生成的值。 (见代码)由于这些是随机生成的值,如果我可以多次执行循环并为每个变量创建一个数据框,模型的准确性将显着提高,其中存储了第一个 运行 的 6000 个观察值在第 1 列中,第二个 运行 的 6000 个观测值存储在第 2 列等中,我最终可以计算每个时期的平均值。
for (i in 4:6002) {
# [i-2] weil fitness tradingchartist der jetzigen Periode Demand der Periode t-2 also 2 erfordert.
demandChartist_1[i-2] =
b * (price_1[i-2] - price_1[i-3]) + rnorm(1, mean=0, sd=0.05)
# [i-2] weil fitness tradingFundamentalist der jetzigen Periode Demand der Periode t-2 also 2 erfordert.
demandChartist_2[i-2] =
b * (price_2[i-2] - price_2[i-3]) + rnorm(1, mean=0, sd=0.05)
demandFundamentalist_1[i-2] =
c * (F1 - price_1[i-2]) + rnorm(1, mean=0, sd=0.01)
demandFundamentalist_2[i-2] =
c * (F2 - price_2[i-2]) + rnorm(1, mean=0, sd=0.01)
fitnessTradingChartist_Ac_1[i] =
(exp(price_1[i]) - exp(price_1[i-1])) * demandChartist_1[i-2] +
d * fitnessTradingChartist_Ac_1[i-1]
fitnessTradingChartist_Ac_2[i] =
(exp(price_2[i]) - exp(price_2[i-1])) * demandChartist_2[i-2] +
d * fitnessTradingChartist_Ac_2[i-1]
fitnessTradingFundamentalist_Af_1[i] =
(exp(price_1[i]) - exp(price_1[i-1])) * demandFundamentalist_1[i-2] +
d * fitnessTradingChartist_Ac_1[i-1]
fitnessTradingFundamentalist_Af_2[i] =
(exp(price_2[i]) - exp(price_2[i-1])) * demandFundamentalist_2[i-2] +
d * fitnessTradingChartist_Ac_2[i-1]
percentCT_Wc_1[i] =
exp(e * fitnessTradingChartist_Ac_1[i]) /
(exp(e * fitnessTradingChartist_Ac_1[i]) +
exp(e * fitnessTradingFundamentalist_Af_1[i]) +
exp(e * fitnessTradingChartist_Ac_2[i]) +
exp(e * fitnessTradingFundamentalist_Af_2[i]) +
exp(0)
)
percentCT_Wc_2[i] =
exp(e * fitnessTradingChartist_Ac_2[i]) /
(exp(e * fitnessTradingChartist_Ac_1[i]) +
exp(e * fitnessTradingFundamentalist_Af_1[i]) +
exp(e * fitnessTradingChartist_Ac_2[i]) +
exp(e * fitnessTradingFundamentalist_Af_2[i]) +
exp(0)
)
percentFT_Wf_1[i] =
exp(e * fitnessTradingFundamentalist_Af_1[i]) /
(exp(e * fitnessTradingChartist_Ac_1[i]) +
exp(e * fitnessTradingFundamentalist_Af_1[i]) +
exp(e * fitnessTradingChartist_Ac_2[i]) +
exp(e * fitnessTradingFundamentalist_Af_2[i]) +
exp(0)
)
percentFT_Wf_2[i] =
exp(e * fitnessTradingFundamentalist_Af_2[i]) /
(exp(e * fitnessTradingChartist_Ac_1[i]) +
exp(e * fitnessTradingFundamentalist_Af_1[i]) +
exp(e * fitnessTradingChartist_Ac_2[i]) +
exp(e * fitnessTradingFundamentalist_Af_2[i]) +
exp(0)
)
percentNoTrading[i] =
1- percentCT_Wc_1[i] - percentFT_Wf_1[i] - percentCT_Wc_2[i] - percentFT_Wf_2[i]
price_1[i] =
price_1[i-1] +
a * ((percentCT_Wc_1[i-1] * demandChartist_1[i-1] +
percentFT_Wf_1[i-1] * demandFundamentalist_1[i-1]
)
) +
rnorm(1, mean=0, sd=0.01)
price_2[i] =
price_2[i-1] +
a * ((percentCT_Wc_2[i-1] * demandChartist_2[i-1] +
percentFT_Wf_2[i-1] * demandFundamentalist_2[i-1]
)
) +
rnorm(1, mean=0, sd=0.01)
}
有人知道如何做到这一点吗?如果有任何帮助,我将不胜感激!
干杯
你的代码不是绝对不容易跟踪。
在这里,我将尝试更改的几点是您想要获得具有 50 列和 6000 个观察值的 14 个数据框。
# definition of dataframe
#Market1
price_1 <- matrix(ncol = 50, nrow =6002, 0L)
demandChartist_1 <- matrix(ncol = 50, nrow =6002, 0L)
demandFundamentalist_1 <- matrix(ncol = 50, nrow =6002, 0L)
percentFT_Wf_1 <- matrix(ncol = 50, nrow =6002, 0L)
percentCT_Wc_1 <- matrix(ncol = 50, nrow =6002, 0L)
fitnessTradingFundamentalist_Af_1 <- matrix(ncol = 50, nrow =6002, 0L)
fitnessTradingChartist_Ac_1 <- matrix(ncol = 50, nrow =6002, 0L)
#Market2
price_2 <- matrix(ncol = 50, nrow =6002, 0L)
demandChartist_2 <- matrix(ncol = 50, nrow =6002, 0L)
demandFundamentalist_2 <- matrix(ncol = 50, nrow =6002, 0L)
percentFT_Wf_2 <- matrix(ncol = 50, nrow =6002, 0L)
percentCT_Wc_2 <- matrix(ncol = 50, nrow =6002, 0L)
fitnessTradingFundamentalist_Af_2 <- matrix(ncol = 50, nrow =6002, 0L)
fitnessTradingChartist_Ac_2 <- matrix(ncol = 50, nrow =6002, 0L)
percentNoTrading <- matrix(ncol = 50, nrow =6002, 0L)
那么,你定义的第一个值:
#set the first 4 values for price equal to 0, 1 whatever otherwise we cant compute the previous periods
price_1[1:4,] <- 0
price_2[1:4,] <- 0
fitnessTradingChartist_Ac_1[1:3,] <- 0
fitnessTradingFundamentalist_Af_1[1:3,] <- 0
fitnessTradingChartist_Ac_2[1:3,] <- 0
fitnessTradingFundamentalist_Af_2[1:3,] <- 0
a <- 1
b <- 0.05
c <- 0.05
d <- 0.975
e <- 300
F1 <- 0
F2 <- 0
最后,你的大块代码包括第二个列循环
for(j in 1:50)
{
for (i in 4:6002) {
# [i-2] weil fitness tradingchartist der jetzigen Periode Demand der Periode t-2 also 2 erfordert.
demandChartist_1[i-2,j] =
b * (price_1[i-2,j] - price_1[i-3,j]) + rnorm(1, mean=0, sd=0.05)
# [i-2] weil fitness tradingFundamentalist der jetzigen Periode Demand der Periode t-2 also 2 erfordert.
demandChartist_2[i-2,j] = b * (price_2[i-2,j] - price_2[i-3,j]) + rnorm(1, mean=0, sd=0.05)
print("1 OK")
demandFundamentalist_1[i-2,j] = c * (F1 - price_1[i-2,j]) + rnorm(1, mean=0, sd=0.01)
demandFundamentalist_2[i-2,j] = c * (F2 - price_2[i-2,j]) + rnorm(1, mean=0, sd=0.01)
fitnessTradingChartist_Ac_1[i,j] = (exp(price_1[i,j]) - exp(price_1[i-1,j])) * demandChartist_1[i-2,j] +
d * fitnessTradingChartist_Ac_1[i-1,j]
fitnessTradingChartist_Ac_2[i,j] = (exp(price_2[i,j]) - exp(price_2[i-1,j])) * demandChartist_2[i-2,j] +
d * fitnessTradingChartist_Ac_2[i-1,j]
fitnessTradingFundamentalist_Af_1[i,j] = (exp(price_1[i,j]) - exp(price_1[i-1,j])) * demandFundamentalist_1[i-2,j] +
d * fitnessTradingChartist_Ac_1[i-1,j]
fitnessTradingFundamentalist_Af_2[i,j] = (exp(price_2[i,j]) - exp(price_2[i-1,j])) * demandFundamentalist_2[i-2,j] +
d * fitnessTradingChartist_Ac_2[i-1,j]
percentCT_Wc_1[i,j] = exp(e * fitnessTradingChartist_Ac_1[i,j]) /
(exp(e * fitnessTradingChartist_Ac_1[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) +
exp(e * fitnessTradingChartist_Ac_2[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) +
exp(0)
)
percentCT_Wc_2[i,j] =
exp(e * fitnessTradingChartist_Ac_2[i,j]) /
(exp(e * fitnessTradingChartist_Ac_1[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) +
exp(e * fitnessTradingChartist_Ac_2[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) +
exp(0)
)
percentFT_Wf_1[i,j] =
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) /
(exp(e * fitnessTradingChartist_Ac_1[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) +
exp(e * fitnessTradingChartist_Ac_2[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) +
exp(0)
)
percentFT_Wf_2[i,j] =
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) /
(exp(e * fitnessTradingChartist_Ac_1[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) +
exp(e * fitnessTradingChartist_Ac_2[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) +
exp(0)
)
percentNoTrading[i,j] =
1- percentCT_Wc_1[i,j] - percentFT_Wf_1[i,j] - percentCT_Wc_2[i,j] - percentFT_Wf_2[i,j]
price_1[i,j] =
price_1[i-1,j] +
a * ((percentCT_Wc_1[i-1,j] * demandChartist_1[i-1,j] +
percentFT_Wf_1[i-1,j] * demandFundamentalist_1[i-1,j]
)
) +
rnorm(1, mean=0, sd=0.01)
price_2[i,j] =
price_2[i-1,j] +
a * ((percentCT_Wc_2[i-1,j] * demandChartist_2[i-1,j] +
percentFT_Wf_2[i-1,j] * demandFundamentalist_2[i-1,j]
)
) +
rnorm(1, mean=0, sd=0.01)
}
}
希望这就是您要找的。可能有更简单的方法,但首先需要对代码结构进行一些优化。
本人对R和论坛还是比较陌生,有错误的一两处还请见谅。我想要做的是:我想为每个 14 个变量生成 6000 个观测值。
这就是我到目前为止所做的。我已经用适当的长度为每个变量初始化了向量:
#Market1
price_1 <- vector(mode = "numeric", length = 6002)
demandChartist_1 <- vector(mode = "numeric", length = 6000)
demandFundamentalist_1 <- vector(mode = "numeric", length = 6001)
percentFT_Wf_1 <- vector(mode = "numeric", length = 6001)
percentCT_Wc_1 <- vector(mode = "numeric", length = 6001)
fitnessTradingFundamentalist_Af_1 <- vector(mode = "numeric", length = 6001)
fitnessTradingChartist_Ac_1 <- vector(mode = "numeric", length = 6001)
#Market2
price_2 <- vector(mode = "numeric", length = 6002)
demandChartist_2 <- vector(mode = "numeric", length = 6000)
demandFundamentalist_2 <- vector(mode = "numeric", length = 6001)
percentFT_Wf_2 <- vector(mode = "numeric", length = 6001)
percentCT_Wc_2 <- vector(mode = "numeric", length = 6001)
fitnessTradingFundamentalist_Af_2 <- vector(mode = "numeric", length = 6001)
fitnessTradingChartist_Ac_2 <- vector(mode = "numeric", length = 6001)
percentNoTrading <- vector(mode = "numeric", length = 6001)
T <- 1:6000
下一步是设置起始值。
# set the first 4 values for price equal to 0, 1 whatever otherwise we can't compute the previous periods
price_1[1:4] <- 0
price_2[1:4] <- 0
fitnessTradingChartist_Ac_1[1:3] <- 0
fitnessTradingFundamentalist_Af_1[1:3] <- 0
fitnessTradingChartist_Ac_2[1:3] <- 0
fitnessTradingFundamentalist_Af_2[1:3] <- 0
a <- 1
b <- 0.05
c <- 0.05
d <- 0.975
e <- 300
F1 <- 0
F2 <- 0
我已经设法设置 For 循环,以便所有向量都填充随机生成的值。 (见代码)由于这些是随机生成的值,如果我可以多次执行循环并为每个变量创建一个数据框,模型的准确性将显着提高,其中存储了第一个 运行 的 6000 个观察值在第 1 列中,第二个 运行 的 6000 个观测值存储在第 2 列等中,我最终可以计算每个时期的平均值。
for (i in 4:6002) {
# [i-2] weil fitness tradingchartist der jetzigen Periode Demand der Periode t-2 also 2 erfordert.
demandChartist_1[i-2] =
b * (price_1[i-2] - price_1[i-3]) + rnorm(1, mean=0, sd=0.05)
# [i-2] weil fitness tradingFundamentalist der jetzigen Periode Demand der Periode t-2 also 2 erfordert.
demandChartist_2[i-2] =
b * (price_2[i-2] - price_2[i-3]) + rnorm(1, mean=0, sd=0.05)
demandFundamentalist_1[i-2] =
c * (F1 - price_1[i-2]) + rnorm(1, mean=0, sd=0.01)
demandFundamentalist_2[i-2] =
c * (F2 - price_2[i-2]) + rnorm(1, mean=0, sd=0.01)
fitnessTradingChartist_Ac_1[i] =
(exp(price_1[i]) - exp(price_1[i-1])) * demandChartist_1[i-2] +
d * fitnessTradingChartist_Ac_1[i-1]
fitnessTradingChartist_Ac_2[i] =
(exp(price_2[i]) - exp(price_2[i-1])) * demandChartist_2[i-2] +
d * fitnessTradingChartist_Ac_2[i-1]
fitnessTradingFundamentalist_Af_1[i] =
(exp(price_1[i]) - exp(price_1[i-1])) * demandFundamentalist_1[i-2] +
d * fitnessTradingChartist_Ac_1[i-1]
fitnessTradingFundamentalist_Af_2[i] =
(exp(price_2[i]) - exp(price_2[i-1])) * demandFundamentalist_2[i-2] +
d * fitnessTradingChartist_Ac_2[i-1]
percentCT_Wc_1[i] =
exp(e * fitnessTradingChartist_Ac_1[i]) /
(exp(e * fitnessTradingChartist_Ac_1[i]) +
exp(e * fitnessTradingFundamentalist_Af_1[i]) +
exp(e * fitnessTradingChartist_Ac_2[i]) +
exp(e * fitnessTradingFundamentalist_Af_2[i]) +
exp(0)
)
percentCT_Wc_2[i] =
exp(e * fitnessTradingChartist_Ac_2[i]) /
(exp(e * fitnessTradingChartist_Ac_1[i]) +
exp(e * fitnessTradingFundamentalist_Af_1[i]) +
exp(e * fitnessTradingChartist_Ac_2[i]) +
exp(e * fitnessTradingFundamentalist_Af_2[i]) +
exp(0)
)
percentFT_Wf_1[i] =
exp(e * fitnessTradingFundamentalist_Af_1[i]) /
(exp(e * fitnessTradingChartist_Ac_1[i]) +
exp(e * fitnessTradingFundamentalist_Af_1[i]) +
exp(e * fitnessTradingChartist_Ac_2[i]) +
exp(e * fitnessTradingFundamentalist_Af_2[i]) +
exp(0)
)
percentFT_Wf_2[i] =
exp(e * fitnessTradingFundamentalist_Af_2[i]) /
(exp(e * fitnessTradingChartist_Ac_1[i]) +
exp(e * fitnessTradingFundamentalist_Af_1[i]) +
exp(e * fitnessTradingChartist_Ac_2[i]) +
exp(e * fitnessTradingFundamentalist_Af_2[i]) +
exp(0)
)
percentNoTrading[i] =
1- percentCT_Wc_1[i] - percentFT_Wf_1[i] - percentCT_Wc_2[i] - percentFT_Wf_2[i]
price_1[i] =
price_1[i-1] +
a * ((percentCT_Wc_1[i-1] * demandChartist_1[i-1] +
percentFT_Wf_1[i-1] * demandFundamentalist_1[i-1]
)
) +
rnorm(1, mean=0, sd=0.01)
price_2[i] =
price_2[i-1] +
a * ((percentCT_Wc_2[i-1] * demandChartist_2[i-1] +
percentFT_Wf_2[i-1] * demandFundamentalist_2[i-1]
)
) +
rnorm(1, mean=0, sd=0.01)
}
有人知道如何做到这一点吗?如果有任何帮助,我将不胜感激! 干杯
你的代码不是绝对不容易跟踪。
在这里,我将尝试更改的几点是您想要获得具有 50 列和 6000 个观察值的 14 个数据框。
# definition of dataframe
#Market1
price_1 <- matrix(ncol = 50, nrow =6002, 0L)
demandChartist_1 <- matrix(ncol = 50, nrow =6002, 0L)
demandFundamentalist_1 <- matrix(ncol = 50, nrow =6002, 0L)
percentFT_Wf_1 <- matrix(ncol = 50, nrow =6002, 0L)
percentCT_Wc_1 <- matrix(ncol = 50, nrow =6002, 0L)
fitnessTradingFundamentalist_Af_1 <- matrix(ncol = 50, nrow =6002, 0L)
fitnessTradingChartist_Ac_1 <- matrix(ncol = 50, nrow =6002, 0L)
#Market2
price_2 <- matrix(ncol = 50, nrow =6002, 0L)
demandChartist_2 <- matrix(ncol = 50, nrow =6002, 0L)
demandFundamentalist_2 <- matrix(ncol = 50, nrow =6002, 0L)
percentFT_Wf_2 <- matrix(ncol = 50, nrow =6002, 0L)
percentCT_Wc_2 <- matrix(ncol = 50, nrow =6002, 0L)
fitnessTradingFundamentalist_Af_2 <- matrix(ncol = 50, nrow =6002, 0L)
fitnessTradingChartist_Ac_2 <- matrix(ncol = 50, nrow =6002, 0L)
percentNoTrading <- matrix(ncol = 50, nrow =6002, 0L)
那么,你定义的第一个值:
#set the first 4 values for price equal to 0, 1 whatever otherwise we cant compute the previous periods
price_1[1:4,] <- 0
price_2[1:4,] <- 0
fitnessTradingChartist_Ac_1[1:3,] <- 0
fitnessTradingFundamentalist_Af_1[1:3,] <- 0
fitnessTradingChartist_Ac_2[1:3,] <- 0
fitnessTradingFundamentalist_Af_2[1:3,] <- 0
a <- 1
b <- 0.05
c <- 0.05
d <- 0.975
e <- 300
F1 <- 0
F2 <- 0
最后,你的大块代码包括第二个列循环
for(j in 1:50)
{
for (i in 4:6002) {
# [i-2] weil fitness tradingchartist der jetzigen Periode Demand der Periode t-2 also 2 erfordert.
demandChartist_1[i-2,j] =
b * (price_1[i-2,j] - price_1[i-3,j]) + rnorm(1, mean=0, sd=0.05)
# [i-2] weil fitness tradingFundamentalist der jetzigen Periode Demand der Periode t-2 also 2 erfordert.
demandChartist_2[i-2,j] = b * (price_2[i-2,j] - price_2[i-3,j]) + rnorm(1, mean=0, sd=0.05)
print("1 OK")
demandFundamentalist_1[i-2,j] = c * (F1 - price_1[i-2,j]) + rnorm(1, mean=0, sd=0.01)
demandFundamentalist_2[i-2,j] = c * (F2 - price_2[i-2,j]) + rnorm(1, mean=0, sd=0.01)
fitnessTradingChartist_Ac_1[i,j] = (exp(price_1[i,j]) - exp(price_1[i-1,j])) * demandChartist_1[i-2,j] +
d * fitnessTradingChartist_Ac_1[i-1,j]
fitnessTradingChartist_Ac_2[i,j] = (exp(price_2[i,j]) - exp(price_2[i-1,j])) * demandChartist_2[i-2,j] +
d * fitnessTradingChartist_Ac_2[i-1,j]
fitnessTradingFundamentalist_Af_1[i,j] = (exp(price_1[i,j]) - exp(price_1[i-1,j])) * demandFundamentalist_1[i-2,j] +
d * fitnessTradingChartist_Ac_1[i-1,j]
fitnessTradingFundamentalist_Af_2[i,j] = (exp(price_2[i,j]) - exp(price_2[i-1,j])) * demandFundamentalist_2[i-2,j] +
d * fitnessTradingChartist_Ac_2[i-1,j]
percentCT_Wc_1[i,j] = exp(e * fitnessTradingChartist_Ac_1[i,j]) /
(exp(e * fitnessTradingChartist_Ac_1[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) +
exp(e * fitnessTradingChartist_Ac_2[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) +
exp(0)
)
percentCT_Wc_2[i,j] =
exp(e * fitnessTradingChartist_Ac_2[i,j]) /
(exp(e * fitnessTradingChartist_Ac_1[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) +
exp(e * fitnessTradingChartist_Ac_2[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) +
exp(0)
)
percentFT_Wf_1[i,j] =
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) /
(exp(e * fitnessTradingChartist_Ac_1[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) +
exp(e * fitnessTradingChartist_Ac_2[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) +
exp(0)
)
percentFT_Wf_2[i,j] =
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) /
(exp(e * fitnessTradingChartist_Ac_1[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_1[i,j]) +
exp(e * fitnessTradingChartist_Ac_2[i,j]) +
exp(e * fitnessTradingFundamentalist_Af_2[i,j]) +
exp(0)
)
percentNoTrading[i,j] =
1- percentCT_Wc_1[i,j] - percentFT_Wf_1[i,j] - percentCT_Wc_2[i,j] - percentFT_Wf_2[i,j]
price_1[i,j] =
price_1[i-1,j] +
a * ((percentCT_Wc_1[i-1,j] * demandChartist_1[i-1,j] +
percentFT_Wf_1[i-1,j] * demandFundamentalist_1[i-1,j]
)
) +
rnorm(1, mean=0, sd=0.01)
price_2[i,j] =
price_2[i-1,j] +
a * ((percentCT_Wc_2[i-1,j] * demandChartist_2[i-1,j] +
percentFT_Wf_2[i-1,j] * demandFundamentalist_2[i-1,j]
)
) +
rnorm(1, mean=0, sd=0.01)
}
}
希望这就是您要找的。可能有更简单的方法,但首先需要对代码结构进行一些优化。