我正在尝试从Bond_Prices中的值访问,Bond_Prices是函数外部的for循环中portfolio_price
函数的结果之一,但出现以下错误:
“ Portfolio_price $ Bond_Prices中的错误: “ closure”类型的对象不可子集化。”
有人可以帮我吗?
我尝试使用portfolio_price$Bond_Prices[1]
和bond_prices
。
Bond_Prices的输出为
$Bond_Prices
[1] 96.15385 86.13218 88.89964 76.28952 75.61329 72.52458 75.99178 68.98708 67.29044 61.39133 61.61987 62.45970 53.03214
所以我希望portfolio_price$Bond_Prices[1]
返回96.15385
portfolio_price <- function(){
bond_prices <- c()
for(i in 1:length(table_2b$Bond)){
B0 <- face_value_2/(1+table_2b$Coupon_Rate[i])^i
bond_prices[i] = B0
}
bond_prices_sum <- 0
for(i in 1:length(table_2b$Bond)){
bond_prices_sum <- sum(bond_prices_sum,bonds_price[i]*(table_2b$Quantity[i]/table_2b$Quantity))
}
return(list(Bond_Prices = bond_prices, Portfolio_Price = bond_prices_sum))
}