【问题标题】:What is a dimnames error when estimating GLS?估计 GLS 时出现的 dimnames 错误是什么?
【发布时间】:2012-03-06 21:44:13
【问题描述】:

我在 Google 上搜索了很多,但找不到这方面的文档。我正在尝试根据 R 中的横截面时间序列数据估计一个可行的广义最小二乘 (FGLS) 模型。例如:

library(nlme)
foo <- gls(Y ~ factor(panel_ID) + X1 + X2, data = myData,
           correlation=corARMA(p=1), method='ML', na.action=na.pass)

当我运行它时(我的数据框很大,这就是为什么我不在这里包含它),我收到以下错误:

数组中的错误(c(X, y), c(N, ncol(X) + 1), list(row.names(dataMod), c(colnames(X), : 'dimnames' [1] 的长度不等于数组 范围

有没有人足够熟悉glsnlme 包的内部工作原理来告诉我我在这里做错了什么?或者建议另一种方法来解决这个问题(我也尝试过plm 包)?

【问题讨论】:

  • 我会在不包含 NA 值的数据子集上尝试...
  • @BenBolker 谢谢,它现在正在运行。看起来需要很长时间才能收敛,但至少它已经开始了。
  • 如果这行得通,我们鼓励您发布自己问题的答案,以帮助未来的读者找到问题的答案...

标签: r nlme


【解决方案1】:

Ben Bolkner 给出答案。

在您的数据中显示NA 的主要原因。请看下面的模拟:

library(nlme)

# Simulation
n <-100
myData <- data.frame(panel_ID = sample(letters[1:3], n, replace = TRUE), X1 = rnorm(n), X2 = rnorm(n), Y = rnorm(n))
# NA introduction into X1 variable in Row 10.
myData$X1[10] <- NA


foo <- gls(Y ~ factor(panel_ID) + X1 + X2, data = myData,
           correlation=corARMA(p=1), method='ML', na.action=na.pass)

它会抛出错误:

数组中的错误(c(X, y), c(N, ncol(X) + 1L), list(row.names(dataMod), c(colnames(X), : 'dimnames' [1] 的长度不等于数组范围

要消除问题,您可以删除NAs 就可以了。

# remove NAs 
myData <- myData[!is.na(myData$X1), ]

foo <- gls(Y ~ factor(panel_ID) + X1 + X2, data = myData,
           correlation=corARMA(p=1), method='ML', na.action=na.pass)

summary(foo)

输出:

Generalized least squares fit by maximum likelihood
  Model: Y ~ factor(panel_ID) + X1 + X2 
  Data: myData 
       AIC      BIC    logLik
  280.8763 299.0421 -133.4382

Correlation Structure: AR(1)
 Formula: ~1 
 Parameter estimate(s):
       Phi 
-0.3496918 

Coefficients:
                        Value  Std.Error    t-value p-value
(Intercept)        0.21510948 0.14041692  1.5319343  0.1289
factor(panel_ID)b -0.27337750 0.25997687 -1.0515455  0.2957
factor(panel_ID)c -0.21930200 0.19704831 -1.1129352  0.2686
X1                -0.00604318 0.09469452 -0.0638177  0.9493
X2                 0.23870397 0.09754513  2.4471130  0.0163

 Correlation: 
                  (Intr) fctr(pnl_ID)b fctr(pnl_ID)c X1    
factor(panel_ID)b -0.649                                   
factor(panel_ID)c -0.787  0.443                            
X1                -0.065  0.148         0.044              
X2                -0.094  0.021        -0.011         0.117

Standardized residuals:
        Min          Q1         Med          Q3         Max 
-2.07929137 -0.77670150 -0.01062337  0.52685034  2.43978797 

Residual standard error: 0.9935003 
Degrees of freedom: 99 total; 94 residual

【讨论】:

    猜你喜欢
    • 2022-10-14
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2023-03-15
    • 2017-02-20
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多