小编Gin*_*mon的帖子

R中的历史分解

我目前正在尝试对 R 中的数据系列进行历史分解。

我已经阅读了大量论文,它们都提供了如何进行历史分解的以下解释:

在此处输入图片说明

其中右侧的总和是 Yt+k 的“动态预测”或“基础预测”,条件是时间 t 的可用信息。左侧的总和是由于 t+1 到 t+k 期间变量的创新导致的实际序列和基础预测之间的差异

我对基本投影感到非常困惑,并且不确定正在使用什么数据!

我的尝试。

我有一个 6 变量 VAR,有 55 个观察值。我使用 Cholesky 分解得到模型的结构形式。完成此操作后,我使用 Phi, 函数来获得 SVAR 的结构移动平均表示。然后我存储这个 Phi“数组”,以便我以后可以使用它。

    varFT <- VAR(Enddata[,c(2,3,4,5,6,7)], p = 4, type = c("const"))
    Amat <- diag(6)
Amat
Bmat <- diag(6)
Bmat[1,1] <- NA
Bmat[2,2] <- NA
Bmat[3,3] <- NA
Bmat[4,4] <- NA
Bmat[5,5] <- NA
Bmat[6,6] <- NA
#play around with col/row names to make them pretty/understandable.
colnames(Bmat) <- c("G", "FT", "T","R", "P", "Y")
rownames(Bmat) <- …
Run Code Online (Sandbox Code Playgroud)

r time-series economics decomposition

5
推荐指数
1
解决办法
3678
查看次数

根据月份日期将季度列添加到数据表

我正在使用data.table,我正在尝试创建一个名为"season"的新列,它会创建一个具有相应季节的列,例如夏天,冬天...基于名为"MonthName"的列.

我想知道是否有一种更有效的方法可以根据月份值将季节列添加到数据表中.

这是300,000个观测值中的前6个,假设该表被称为"dt".

    rrp         Year   Month Finyear hourminute AvgPriceByTOD MonthName
1: 35.27500     1999     1    1999      00:00      33.09037       Jan
2: 21.01167     1999     1    1999      00:00      33.09037       Jan
3: 25.28667     1999     2    1999      00:00      33.09037       Feb
4: 18.42334     1999     2    1999      00:00      33.09037       Feb
5: 16.67499     1999     2    1999      00:00      33.09037       Feb
6: 18.90001     1999     2    1999      00:00      33.09037       Feb
Run Code Online (Sandbox Code Playgroud)

我试过以下代码:

dt[, Season :=  ifelse(MonthName = c("Jun", "Jul", "Aug"),"Winter", ifelse(MonthName = c("Dec", "Jan", "Feb"), "Summer", ifelse(MonthName = c("Sep", "Oct", "Nov"), "Spring" , …
Run Code Online (Sandbox Code Playgroud)

r data.table

4
推荐指数
2
解决办法
2315
查看次数

根据数据模式对数据表进行子集

我有一个这样的数据表:

z
     a   b negflag
 1:  1  41       0
 2:  2  61       0
 3:  3 623       0
 4:  4 -12       1
 5:  5  10       0
 6:  6  15       0
 7:  7  16       0
 8:  8  -9       1
 9:  9  31       0
10: 10  10       0
Run Code Online (Sandbox Code Playgroud)

我想要做的是在"negflag"旁边添加一个列,它告诉我b列中是否有正值,之前是2行.

像这样:

     a   b negflag posflag
 1:  1  41       0       0
 2:  2  61       0       1
 3:  3 623       0       1
 4:  4 -12       1       0
 5:  5  10       0       0
 6:  6  15       0 …
Run Code Online (Sandbox Code Playgroud)

r data.table

1
推荐指数
1
解决办法
81
查看次数

标签 统计

r ×3

data.table ×2

decomposition ×1

economics ×1

time-series ×1