[英]Dynamic variable name R
我已經閱讀了有關assign
命令的類似問題。 但它對我不起作用。
這是我的代碼:
masums <- function(var) {
lags <- var$p # number of lags in VAR
eqn <- length(var$varresult) # number of equations in VAR
dep <- names(var$varresult) # names of dependent variables
for(i in 1:eqn) # compute coefficient matrices
d <- dep[i]
x <- paste("var$varresult$",d,"$coefficients",sep="")
y <- as.matrix(GET THE VALUE OF "x" e.g. var$varresult$d$coefficients) # d="gap" for i=1
}
return(y)
}
示例:對於 i=1 d 將具有值“gap”,因此我想要 var$varresult$gap$coefficients 的值。
var$varresult 由類“lm”的元素組成。 也許解決方案很簡單,我只是為了看到它而感到壓力。 希望有人能幫忙。
編輯:對於一個小示例數據集:
library(vars)
y <- c(100*rnorm(100))
x <- seq(1,100,1)
vardata <- cbind(x,y)
var1 <- VAR(vardata,p=4,type="const")
var1$varresult$x$coefficients
馬丁
paste
在字符串中構造嵌套變量訪問是完全錯誤的方法。
您缺少的是x$y
也可以寫為x$['y']
(或x$[['y']]
,這取決於您是想要列表中的單個值,還是中的列一個 data.frame),這里'y'
是一個字符串。 所以你可以這樣寫:
y <- as.matrix(var$varresult[[d]]$coefficients)
(假設var$varresult
是一個列表)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.