我有以下代碼從類term_strc_nss中提取一個命名數字。它可以很好地提取beta矢量的值並將它們傳遞給下一個函數。但是,交易日期是2012-12-31
並定義了該類中的插槽更改。所以,我需要將交易日期作爲變量傳遞給代碼。在R中使用粘貼來連接命令
BetaVector <<- unname(term.structure$opt_result$`2012-12-31`$par[c("beta0",
"beta1","beta2", "tau1")])
下面的代碼使用粘貼,但是當我運行的功能我得到的似乎圍繞「beta0」,「β1的」,「β2」和「TAU1」是相關的引號的錯誤。我嘗試了「與」我可以運行的代碼,但隨後並沒有傳遞的值,因爲測試向量僅僅是一個名稱的字符串替換。
BetaVector <<- paste("unname(term.structure$opt_result$`",tradedate,"`$par[c("beta0",
"beta1", "beta2", "tau1")])")
我想我可以創建一個方法來提取貝塔係數,但在創建方法時,我仍然會遇到同樣的問題。是否有更好的方法從類中提取一個已命名的數字?
這裏是來自term.structure的dput。term.structure是一個對象termstrc_nss並且是一個S3級什麼是正確的方法來參考它?
structure(list(`2012-12-31` = structure(list(par = structure(c(3.41273726187976,
-2.63342593294169, -5.34244663887461, 2.13363495349724), .Names = c("beta0",
"beta1", "beta2", "tau1")), value = 0.0088680383803467, counts = structure(c(15,
10), .Names = c("function", "gradient")), convergence = 0L, message = NULL,
outer.iterations = 2L, barrier.value = -0.000409627261066452), .Names = c("par",
"value", "counts", "convergence", "message", "outer.iterations",
"barrier.value"))), .Names = "2012-12-31")
Post'dput(term.structure $ opt_result)',請不要在沒有引用S4結構時使用術語'slot'。在這個問題上有很多不明確的地方,如果你沒有符合文本描述和問題的代碼和數據,你就有可能吸引近距離投票。 –
這個問題的答案似乎是逃避你的引號:'\「'。 – Thomas