R 在模拟后存储循环值

R 在模拟后存储循环值,r,for-loop,vector,lambda,simulation,R,For Loop,Vector,Lambda,Simulation,我是R的新手,我尝试实现一个简单的模型(稍后我将扩展该模型)来处理公司债券违约问题 首先,我只使用两个客户端 参数: -两个客户(我称之为“A”和“B”) -如果每个客户在10年内没有违约,他们将收到10000美元的现金流 -使用标准正态随机变量、相依均匀随机变量和高斯连接函数将概念集合在一起 -运行一些模拟 -存储客户A现金流加客户B现金流之和,并存储在名为“结果”的向量中 -最后,取结果向量的平均值 My code is: # define variables nSim <- 5

我是R的新手,我尝试实现一个简单的模型(稍后我将扩展该模型)来处理公司债券违约问题

首先,我只使用两个客户端

参数: -两个客户(我称之为“A”和“B”) -如果每个客户在10年内没有违约,他们将收到10000美元的现金流 -使用标准正态随机变量、相依均匀随机变量和高斯连接函数将概念集合在一起 -运行一些模拟 -存储客户A现金流加客户B现金流之和,并存储在名为“结果”的向量中 -最后,取结果向量的平均值

My code is:

# define variables
nSim <- 5           # of simulations
rho <- 0.3          # rho
lambda <- 0.01      # default intensity
T <- 10             # time to default

for (i in 1:nSim){

# Step 1: generate 2 independent standard normal random variables
z1 <- rnorm(1, mean=0, sd=1)
z2 <- rnorm(1, mean=0, sd=1)

# Step 2: map the normals into correlated normals
#         by Cholesky composition of the correlation matrix
# w1 = z1
# w2 = rho(z1)+sqrt(1-(rho^2))*z2

w1 <- z1
w2 <- rho*z1 - sqrt(1-(rho^2))*z2

# Step 3: using the correlated normals, generate two dependent uniform variables
u <- runif(1, min=0, max=1)
v <- runif(1, min=0, max=1)

# Step 4: using the dependent uniforms, generate two dependent exponentials

tau.A <- (-1/lambda)*log(u)
tau.B <- (-1/lambda)*log(v)

payout.A <- if (tau.A > 10) {10000} else {0}
payout.B <- if (tau.B > 10) {10000} else {0}

result[i] = (payout.A[i] + payout.B[i])
}

# calculate expected value of portfolio
mean(result)
我的代码是:
#定义变量

nSim在
结果[i]否之前,所有操作都有效。问题是
结果[i]中存在
[i]
赋值,请在代码前面放置4个空格以对其进行格式化。欢迎来到堆栈溢出!
results <- vector('numeric', length = nSim)
results[i] <- (payout.A + payout.B)