【发布时间】:2019-06-12 19:14:26
【问题描述】:
我有一个数据集,其中包含从 1975 年到 2018 年每个国家(总共 16 个国家)每个行业(总共 10 个行业)的每日收益率。现在我需要每天和每周运行横截面回归并保存单独数据集中的系数。
我尝试了以下代码。但是每天的估算值都是一样的。
fitted_models = Data %>%
group_by(Data$Date) %>%
do(model = lm(Data$RoR ~ Data$Country + Data$Industry, data=Data))
fitted_models$model
我需要包括以下对比:
contrasts(All0$Country) <- contr.sum(16, contrasts=TRUE)
contrasts(All0$Industry) <- contr.sum(10, contrasts=TRUE)
然后我收到以下错误消息
Error in contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]]) : contrasts can be applied only to factors with 2 or more levels In addition: Warning messages: 1: contrasts dropped from factor Country due to missing levels 2: contrasts dropped from factor Industry due to missing levels
这是我的数据样本。随着时间的推移,RoR 会出现价值。
Country Date Industry RoR
<chr> <date> <chr> <dbl>
1 Finland 1975-01-01 Basic Mats NA
2 Austria 1975-01-01 Basic Mats NA
3 Spain 1975-01-01 Basic Mats NA
4 United Kingdom 1975-01-01 Basic Mats NA
5 Norway 1975-01-01 Basic Mats NA
6 Germany 1975-01-01 Basic Mats NA
7 France 1975-01-01 Basic Mats NA
8 Italy 1975-01-01 Basic Mats NA
9 Portugal 1975-01-01 Basic Mats NA
10 Switzerland 1975-01-01 Basic Mats NA
【问题讨论】:
-
将它们导出到文件中? stackoverflow.com/questions/49958828/…
-
我需要它们在环境中进行进一步分析。主要问题是每天运行回归。但是谢谢你,否则我将再次导出和导入。
-
放弃
Data$可能是朝着正确方向迈出的一步。另一种方法是使用日期和其他所有变量之间的交互来运行单个回归。 -
但是如果我只运行一次回归,我如何从中获得系数的时间序列?
-
我过去曾使用
apply对数据行进行回归。也许调查一下?
标签: r save regression