R 循环中矩阵和标量的重命名

R 循环中矩阵和标量的重命名,r,R,我试图创建一个循环,它会更改每次迭代的名称。代码如下所示。所以我基本上需要的是,例如a=2,我希望W_u(a-1)指的是一个叫做W_1的矩阵,W_u(a)指的是一个叫做W_1的矩阵,最后GMM_u(a-1)$par应该指的是GMM_u(1)$par for(2:100中的a){ GMM您希望在您的工作区中有100个变量(a1、a2……)吗?如果您将所有这些都放在一个列表中会更好,因为它将很容易使用。但是如果出于某种原因您确实需要一组变量,那么请使用它 W_1 = 0 for (a in 2:10

我试图创建一个循环,它会更改每次迭代的名称。代码如下所示。所以我基本上需要的是,例如a=2,我希望W_u(a-1)指的是一个叫做W_1的矩阵,W_u(a)指的是一个叫做W_1的矩阵,最后GMM_u(a-1)$par应该指的是GMM_u(1)$par

for(2:100中的a){
GMM您希望在您的工作区中有100个变量(a1、a2……)吗?如果您将所有这些都放在一个列表中会更好,因为它将很容易使用。但是如果出于某种原因您确实需要一组变量,那么请使用它

W_1 = 0
for (a in 2:100){
  GMM <- function(beta) {
    for (i in 1:(nrow(gmm_i))){
      gmm_i[i,] <- g_beta(i,beta)
    }
    gmm_N <- t(colSums(gmm_i)) %*% W_(a-1) %*% colSums(gmm_i) 
    tmp <- solve((1/(nrow(A)/5))*t(gmm_i)%*%gmm_i)
    assign((paste("W_",a,sep="")),tmp,envir=.GlobalEnv)
    return(gmm_N)
  }
  tmp1 <- optim(GMM_(a-1)$par,GMM)
  assign((paste("GMM_",a,sep="")),tmp1,envir=.GlobalEnv)
W_1=0
对于(2:100中的a){

GMM查看一下
assign
?让你的生活更轻松,使用列表。我一周前开始使用R。你能把它与我当前的问题联系起来吗?制作
GMM
列表,然后使用
GMM[[a]]
访问它。
W
也一样。
W_1 = 0
for (a in 2:100){
  GMM <- function(beta) {
    for (i in 1:(nrow(gmm_i))){
      gmm_i[i,] <- g_beta(i,beta)
    }
    gmm_N <- t(colSums(gmm_i)) %*% W_(a-1) %*% colSums(gmm_i) 
    tmp <- solve((1/(nrow(A)/5))*t(gmm_i)%*%gmm_i)
    assign((paste("W_",a,sep="")),tmp,envir=.GlobalEnv)
    return(gmm_N)
  }
  tmp1 <- optim(GMM_(a-1)$par,GMM)
  assign((paste("GMM_",a,sep="")),tmp1,envir=.GlobalEnv)