【问题标题】:regression: Error in eval(predvars, data, env) : object 'volt' not found回归:eval(predvars,data,env)中的错误:找不到对象'volt'
【发布时间】:2021-05-13 22:33:21
【问题描述】:

尝试在 R 中运行 OLS 回归模型。

    data = read.csv("C:/.../VOLATILITY.csv")
    head(data)
       volt LfquantBS HfquantBS LfbankVOL HfbankMM HfnonbankMM HfindMM
    1 18.23       3.7       9.2       3.2      2.6        35.3     7.9
    2 16.09       4.1      11.4       3.2      2.7        35.3     8.2
    3 16.79       4.1      11.4       3.2      2.7        35.3     8.2
    4 17.01       4.1      11.4       3.2      2.7        35.3     8.2
    5 16.09       4.1      11.4       3.2      2.7        35.3     8.2
    6 19.66       6.2      10.5       4.2      1.8        30.7     8.6
    model <- lm(volt ~ lfquantBS + HfquantBs + LfbankVOL + HfbankMM + HfnonbankMM 
    + HfindMM)

eval 中的错误(predvars、data、env):找不到对象 'volt'

以前做过,没有任何问题。任何帮助表示赞赏。

【问题讨论】:

    标签: r linear-regression


    【解决方案1】:

    它应该有data,因为voltlfquantBS 等列仅存在于名为“data”的data.frame 对象的框架内。另外,情况很重要。公式中有lfquantBS,数据集中命名为LfQuantBS

    lm(volt ~ LfquantBS + HfquantBS + LfbankVOL + HfbankMM +
            HfnonbankMM + HfindMM, data = data)
    

    -输出

    Call:
    lm(formula = volt ~ LfquantBS + HfquantBS + LfbankVOL + HfbankMM + 
        HfnonbankMM + HfindMM, data = data)
    
    Coefficients:
    (Intercept)    LfquantBS    HfquantBS    LfbankVOL     HfbankMM  HfnonbankMM      HfindMM  
        23.2866       1.0846      -0.9858           NA           NA           NA           NA  
    

    关于评论Have done this before without any problem。 OP 过去可能有 attach(data) 将这些列创建为全局环境中的对象,或者在构造 data.frame 之前先将这些列创建为矢量对象

    数据

    data <- structure(list(volt = c(18.23, 16.09, 16.79, 17.01, 16.09, 19.66
    ), LfquantBS = c(3.7, 4.1, 4.1, 4.1, 4.1, 6.2), HfquantBS = c(9.2, 
    11.4, 11.4, 11.4, 11.4, 10.5), LfbankVOL = c(3.2, 3.2, 3.2, 3.2, 
    3.2, 4.2), HfbankMM = c(2.6, 2.7, 2.7, 2.7, 2.7, 1.8), HfnonbankMM = c(35.3, 
    35.3, 35.3, 35.3, 35.3, 30.7), HfindMM = c(7.9, 8.2, 8.2, 8.2, 
    8.2, 8.6)), class = "data.frame", row.names = c("1", "2", "3", 
    "4", "5", "6"))
    

    【讨论】:

      猜你喜欢
      • 2018-11-18
      • 2018-11-05
      • 2020-09-21
      • 2020-04-12
      • 1970-01-01
      • 2022-01-11
      • 2020-04-02
      • 2019-01-31
      • 1970-01-01
      相关资源
      最近更新 更多