簡體   English   中英

動態變量名 R

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM