我目前正在尝试对 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) 我正在使用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) 我有一个这样的数据表:
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)