要访问R中的数据帧的列,我们只需要使用$符号,但是如果将数据帧转换为时间序列对象,则所有列都将表现为时间序列,因此,我们不能简单地使用$符号。为此,我们将需要使用单个方括号并在其中传递适当的列。查看以下示例以了解其工作原理。
请看以下数据帧:
> set.seed(147) > x1<-rpois(20,5) > x2<-rpois(20,8) > x3<-rpois(20,3) > df1<-data.frame(x1,x2,x3) > df1
输出结果
x1 x2 x3 1 5 11 4 2 5 5 3 3 4 6 2 4 10 8 1 5 4 6 3 6 4 9 3 7 9 7 4 8 4 4 1 9 3 8 6 10 5 9 2 11 4 13 2 12 4 6 3 13 6 5 2 14 8 10 3 15 1 10 3 16 5 9 3 17 7 8 6 18 7 5 0 19 4 8 2 20 5 5 7
将df1转换为时间序列对象:
> df1_time_series<-ts(df1) > df1_time_series Time Series: Start = 1 End = 20 Frequency = 1
输出结果
x1 x2 x3 1 5 11 4 2 5 5 3 3 4 6 2 4 10 8 1 5 4 6 3 6 4 9 3 7 9 7 4 8 4 4 1 9 3 8 6 10 5 9 2 11 4 13 2 12 4 6 3 13 6 5 2 14 8 10 3 15 1 10 3 16 5 9 3 17 7 8 6 18 7 5 0 19 4 8 2 20 5 5 7
提取上述时间序列的列:
> df1_time_series[,"x1"] Time Series: Start = 1 End = 20 Frequency = 1
输出结果
[1] 5 5 4 10 4 4 9 4 3 5 4 4 6 8 1 5 7 7 4 5
> df1_time_series[,"x2"] Time Series: Start = 1 End = 20 Frequency = 1
输出结果
[1] 11 5 6 8 6 9 7 4 8 9 13 6 5 10 10 9 8 5 8 5
> df1_time_series[,"x3"] Time Series: Start = 1 End = 20 Frequency = 1
输出结果
[1] 4 3 2 1 3 3 4 1 6 2 2 3 2 3 3 3 6 0 2 7
> y1<-rnorm(20,1,0.25) > y2<-rnorm(20,1,0.078) > y3<-rnorm(20,1,0.045) > y4<-rnorm(20,1,0.65) > df2<-data.frame(y1,y2,y3,y4) > df2
输出结果
y1 y2 y3 y4 1 0.4610082 1.1123116 0.9937312 1.60152771 2 1.2245278 1.1441032 0.9955816 1.01301470 3 0.9281928 0.9471151 1.0130205 1.73380614 4 0.6132334 0.9914514 1.0478584 1.12878115 5 0.8047991 0.9364563 1.0559170 0.11453683 6 1.3873896 0.9890774 0.8793818 1.08303443 7 0.8734964 0.9923517 1.0456627 1.40754764 8 0.5829787 1.1520386 1.0679080 -0.06112731 9 0.7886331 1.2120417 1.0131238 1.12503045 10 1.4817215 1.1045179 0.9894544 1.00392323 11 1.1166086 0.9957914 0.9241877 0.37224585 12 1.0734553 1.0714675 1.0013594 0.46353553 13 1.0378841 0.9814108 1.0169206 1.57986107 14 0.5939274 0.9737219 1.0043724 0.17741973 15 1.1111737 0.9444893 1.0601156 0.96969383 16 1.2379935 0.9730605 1.0632339 0.39235006 17 1.2920541 0.8550713 0.9872660 0.42308594 18 0.7378359 1.0077608 1.0571702 1.34754960 19 0.7497949 0.9085073 1.0041391 1.04504683 20 1.0315004 1.1117264 0.9580732 1.13297488
> df2_ts<-ts(df2) > df2_ts Time Series: Start = 1 End = 20 Frequency = 1
输出结果
y1 y2 y3 y4 1 0.4610082 1.1123116 0.9937312 1.60152771 2 1.2245278 1.1441032 0.9955816 1.01301470 3 0.9281928 0.9471151 1.0130205 1.73380614 4 0.6132334 0.9914514 1.0478584 1.12878115 5 0.8047991 0.9364563 1.0559170 0.11453683 6 1.3873896 0.9890774 0.8793818 1.08303443 7 0.8734964 0.9923517 1.0456627 1.40754764 8 0.5829787 1.1520386 1.0679080 -0.06112731 9 0.7886331 1.2120417 1.0131238 1.12503045 10 1.4817215 1.1045179 0.9894544 1.00392323 11 1.1166086 0.9957914 0.9241877 0.37224585 12 1.0734553 1.0714675 1.0013594 0.46353553 13 1.0378841 0.9814108 1.0169206 1.57986107 14 0.5939274 0.9737219 1.0043724 0.17741973 15 1.1111737 0.9444893 1.0601156 0.96969383 16 1.2379935 0.9730605 1.0632339 0.39235006 17 1.2920541 0.8550713 0.9872660 0.42308594 18 0.7378359 1.0077608 1.0571702 1.34754960 19 0.7497949 0.9085073 1.0041391 1.04504683 20 1.0315004 1.1117264 0.9580732 1.13297488
> df2_ts[,"y1"] Time Series: Start = 1 End = 20 Frequency = 1
输出结果
[1] 0.4610082 1.2245278 0.9281928 0.6132334 0.8047991 1.3873896 0.8734964 [8] 0.5829787 0.7886331 1.4817215 1.1166086 1.0734553 1.0378841 0.5939274 [15] 1.1111737 1.2379935 1.2920541 0.7378359 0.7497949 1.0315004
> df2_ts[,"y2"] Time Series: Start = 1 End = 20 Frequency = 1
输出结果
[1] 1.1123116 1.1441032 0.9471151 0.9914514 0.9364563 0.9890774 0.9923517 [8] 1.1520386 1.2120417 1.1045179 0.9957914 1.0714675 0.9814108 0.9737219 [15] 0.9444893 0.9730605 0.8550713 1.0077608 0.9085073 1.1117264
> df2_ts[,"y3"] Time Series: Start = 1 End = 20 Frequency = 1
输出结果
[1] 0.9937312 0.9955816 1.0130205 1.0478584 1.0559170 0.8793818 1.0456627 [8] 1.0679080 1.0131238 0.9894544 0.9241877 1.0013594 1.0169206 1.0043724 [15] 1.0601156 1.0632339 0.9872660 1.0571702 1.0041391 0.9580732
> df2_ts[,"y4"] Time Series: Start = 1 End = 20 Frequency = 1
输出结果
[1] 1.60152771 1.01301470 1.73380614 1.12878115 0.11453683 1.08303443 [7] 1.40754764 -0.06112731 1.12503045 1.00392323 0.37224585 0.46353553 [13] 1.57986107 0.17741973 0.96969383 0.39235006 0.42308594 1.34754960 [19] 1.04504683 1.13297488