Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 一维矩阵数据到二维矩阵数据(时间序列)_R_Matrix_Neural Network_Time Series - Fatal编程技术网

R 一维矩阵数据到二维矩阵数据(时间序列)

R 一维矩阵数据到二维矩阵数据(时间序列),r,matrix,neural-network,time-series,R,Matrix,Neural Network,Time Series,我有货币兑换的数据,我正试图将数据格式化成一个矩阵,这样我就可以将这个矩阵输入到神经网络中,预测第二天的兑换率。要实现这一点,它需要知道以下值: 2天前,1天前,今天,预计在1D矩阵中。我正在尝试将这个一维矩阵更改为二维矩阵,以便正确显示数据。我已经在下面创建了一个图表,说明了我是如何格式化这些数据的,但我不太明白怎么做,我对R编程还不熟悉。我发现lag()函数可用于在数据中创建此“滞后”,并用于时间序列问题,但除了将此数据格式化为此格式外,我不确定如何使用它 数据格式:(2个示例) dat

我有货币兑换的数据,我正试图将数据格式化成一个矩阵,这样我就可以将这个矩阵输入到神经网络中,预测第二天的兑换率。要实现这一点,它需要知道以下值: 2天前,1天前,今天,预计在1D矩阵中。我正在尝试将这个一维矩阵更改为二维矩阵,以便正确显示数据。我已经在下面创建了一个图表,说明了我是如何格式化这些数据的,但我不太明白怎么做,我对R编程还不熟悉。我发现lag()函数可用于在数据中创建此“滞后”,并用于时间序列问题,但除了将此数据格式化为此格式外,我不确定如何使用它

数据格式:(2个示例)


data在结尾的注释中使用
data2
,并假设它是按时间升序排列的,我们使用
flag
(快速滞后)来滞后它,
na_omit
来省略具有任何na的行,即前两行和最后一行。由于在系列开始之前或系列结束之后不能有数据,因此他们有NA

library(collapse)

na_omit(flag(data2, 2:-1))
给予:

# A tibble: 3 x 4
  `L2.USD/EUR` `L1.USD/EUR` `USD/EUR` `F1.USD/EUR`
         <dbl>        <dbl>     <dbl>        <dbl>
1         1.37         1.39      1.38         1.37
2         1.39         1.38      1.37         1.38
3         1.38         1.37      1.38         1.37

谢谢你的回复!数据是从2011年到2013年的,所以不是向后的:D.你显示的输出,第一行的前两个元素缺失了吗?第一行应该有2天前的数据,1天前的数据,今天的数据,然后是预期的输出。你有没有这样的格式?我试着在图表中显示,如果不清楚,很抱歉。发布时请将数据缩减到最小大小,同时保留足够的数据来说明问题。当然!我会编辑这篇文章
# A tibble: 3 x 4
  `L2.USD/EUR` `L1.USD/EUR` `USD/EUR` `F1.USD/EUR`
         <dbl>        <dbl>     <dbl>        <dbl>
1         1.37         1.39      1.38         1.37
2         1.39         1.38      1.37         1.38
3         1.38         1.37      1.38         1.37
# input
data2 <- head(data)
> data
# A tibble: 6 x 1
  `USD/EUR`
      <dbl>
1      1.37
2      1.39
3      1.38
4      1.37
5      1.38
6      1.37