错误:“关闭”类型的对象不可子集化

时间:2019-11-02 20:50:01

标签: r closures

我正在尝试从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))
  }

0 个答案:

没有答案