如何每天运行回归并将系数保存在新数据集中?

时间:2019-06-12 19:14:26

标签: r save regression

我有一个数据集,其中包含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 

1 个答案:

答案 0 :(得分:0)

使用canteen_empty=Exists(CanteenLevel.objects.filter(robot=OuterRef('pk')).order_by('-time').values('gallons')[:1].filter(gallons__lte=Subquery(RobotConfiguration.objects.filter(robot=OuterRef('robot')).order_by('-time').values('canteen_empty_level')[:1])))) 包进行按组操作可能是解决此问题的好方法-我使用data.table作为示例数据集,因为您没有提供数据包,但是方法与您的数据相同。在这里,我将mtcars用作分组列,但在您的情况下,它将是cyl

Date