简体   繁体   中英

regression: Error in eval(predvars, data, env) : object 'volt' not found

Trying to run a OLS regression model in R.

    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)

Error in eval(predvars, data, env): object 'volt' not found

Have done this before without any problem. Any help appreciated.

It should have the data because the columns volt , lfquantBS , etc. exist only within the frame of the data.frame object named 'data'. In addition, case is important. In the formula, there is lfquantBS while in the dataset, it is named as LfQuantBS

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

-output

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  

Regarding the comment Have done this before without any problem . It is possible that the OP may have attach(data) in the past to create those columns as objects in the global env or have created those as vector objects first before constructing the data.frame

data

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"))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM