R systemfit:如何 运行 列出许多公式
R systemfit: how to run with a list of many formula
我有一个广泛的股票数据集 returns 及其滞后值。我想使用 systemfit
包进行 SUR 估计,但无法输入多个公式
我的数据集样本如下所示:
df = data.frame('stock.1' = c(0, - 0.2, 0.3, 0.5, 0.2), 'lag.stock.1'
= c(0.2,0,- 0.2, 0.3, 0.5), 'stock.2' = c(0, - 0.1, 0.4, 0.7, -0.1), 'lag.stock.2' = c(0.1,0, - 0.1, 0.4, 0.7))
如果我使用下面的代码,就可以了
fitsur = systemfit(list(stock.1 ~ lag.stock.1, stock.2 ~ lag.stock.2), data = df)
但是我有很多股票,所以我先创建一个公式列表
stock.list = c("stock.1", "stock.2")
fm.list = list()
for (i in 1:length(stock.list)) {
stock = stock.list[i]
formula = paste0(stock,"~","lag.",stock)
fm.list[i] = formula
}
使用此列表不起作用
fitsur = systemfit(fm.list, data = df)
Error in systemfit(fm.list, data = return.joindf) :
the list of argument 'formula' must contain only objects of class 'formula'
有没有正确使用公式列表的方法?
使用as.formula
函数:
formula = paste0(stock,"~","lag.",stock)
fm.list[[i]] = as.formula(formula)
我有一个广泛的股票数据集 returns 及其滞后值。我想使用 systemfit
包进行 SUR 估计,但无法输入多个公式
我的数据集样本如下所示:
df = data.frame('stock.1' = c(0, - 0.2, 0.3, 0.5, 0.2), 'lag.stock.1'
= c(0.2,0,- 0.2, 0.3, 0.5), 'stock.2' = c(0, - 0.1, 0.4, 0.7, -0.1), 'lag.stock.2' = c(0.1,0, - 0.1, 0.4, 0.7))
如果我使用下面的代码,就可以了
fitsur = systemfit(list(stock.1 ~ lag.stock.1, stock.2 ~ lag.stock.2), data = df)
但是我有很多股票,所以我先创建一个公式列表
stock.list = c("stock.1", "stock.2")
fm.list = list()
for (i in 1:length(stock.list)) {
stock = stock.list[i]
formula = paste0(stock,"~","lag.",stock)
fm.list[i] = formula
}
使用此列表不起作用
fitsur = systemfit(fm.list, data = df)
Error in systemfit(fm.list, data = return.joindf) :
the list of argument 'formula' must contain only objects of class 'formula'
有没有正确使用公式列表的方法?
使用as.formula
函数:
formula = paste0(stock,"~","lag.",stock)
fm.list[[i]] = as.formula(formula)