回归没有在R中运行的时候?

时间:2016-04-24 12:02:57

标签: r

我目前正在尝试运行以下代码:

library("quantmod")

audchf30=getFX("AUD/CHF", from = Sys.Date()-30, to = Sys.Date())
eurusd30=getFX("EUR/USD", from = Sys.Date()-30, to = Sys.Date())

reg <- lm (audchf30 ~ eurusd30, data=dat)
summary(reg)

该计划背后的想法是,我收集了两个货币对的一定数量的观察结果,并在它们之间运行标准的OLS回归。但是,当我尝试运行回归时,我收到以下错误消息:

**> reg <- lm (audchf30 ~ eurusd30, data=dat)**
Error in is.data.frame(data) : object 'dat' not found

**> summary(reg)**
Error in summary(reg) : 
error in evaluating the argument 'object' in selecting a method for function 'summary': Error: object 'reg' not found

2 个答案:

答案 0 :(得分:1)

这应该有效。由于某种原因,您不必为“audchf30”赋值。函数getFX(“AUD / CHF”)创建名为AUDCHF的XTS对象。您可以将其转换为数据框。

getFX("AUD/CHF", from = Sys.Date()-30, to = Sys.Date())
getFX("EUR/USD", from = Sys.Date()-30, to = Sys.Date())

dat <- data.frame(AUDCHF, EURUSD)

reg <- lm (AUD.CHF ~ EUR.USD, data=dat)
summary(reg)

答案 1 :(得分:0)

第一个错误表示您没有在环境中加载名为“dat”的对象。您在第二行和第三行中创建的两个对象需要放在名为dat的data.frame中:

dat <- data.frame(audchf30=getFX("AUD/CHF", 
                           from = Sys.Date()-30, to = Sys.Date()),
                  eurusd30=getFX("EUR/USD", 
                           from = Sys.Date()-30, to = Sys.Date()))

您的回归代码应在此之后运行。