- 时间序列函数ts()
ts()的参数
data | 观察值的向量或矩阵 |
start | 第一个观察值的时间 |
end | 最后一个观察值的时间 |
frequency | 观察值的时间频率 |
deltat | 表示观察值时间频次的分数,比如1/12表示月度 |
ts.eps | 时间序列表示比较容限 |
class | 结果类的设定 |
names | 设定多元时间序列变量名称的字符型向量 |
header | TRUE/FALSE,原始数据第一列是否为变量名称 |
- 列表
- 列表的应用
#列表
> x=rnorm(20)#生成正态随机20个数据
> e=rnorm(20,mean = 0,sd=0.25)#sd表示标准差
> y=0.15*x+e
> output=lm(y~x)#lm(y~x)表示关于x的线性回归函数
> names(output)
[1] "coefficients" "residuals"
[3] "effects" "rank"
[5] "fitted.values" "assign"
[7] "qr" "df.residual"
[9] "xlevels" "call"
[11] "terms" "model"
> output$coefficients#output中存放的回归系数
(Intercept) x
0.08810978 0.19939250
> output$residuals #残差值
1 2 3 4
-0.09282232 -0.13877388 0.24089096 0.07408545
5 6 7 8
0.31357607 -0.07479624 -0.02548409 -0.10585975
9 10 11 12
-0.13589863 -0.10550118 -0.13213445 0.08072300
13 14 15 16
-0.25224860 0.06710868 -0.09243627 0.26019371
17 18 19 20
-0.29309579 0.32606966 0.17197668 -0.08557302
> output$model#原始数据y和x
y x
1 -0.018958396 -0.07144633
2 0.360034812 2.05975108
3 0.165100767 -0.82199670
4 0.202606823 0.20267360
5 0.704361980 1.51799156
6 0.185344148 0.86277372
7 0.246775090 0.92355229
8 -0.176371069 -0.79552193
9 -0.283548596 -1.18239030
10 -0.571401633 -2.77849091
11 -0.096402343 -0.26268629
12 0.017628165 -0.75832654
13 -0.235598842 -0.35838875
14 0.005605898 -0.75034201
15 0.084909517 0.44753942
16 0.199469362 -0.74643800
17 -0.104335161 0.50478752
18 0.472742224 0.29370607
19 0.053073577 -1.03821803
20 0.028147960 0.12844616
- 函数summary(),可以获取对象的详细信息。
output_more=summary(output)
> output_more
Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-0.29310 -0.11243 -0.08018 0.10354 0.32607
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.08811 0.04230 2.083 0.051805
x 0.19939 0.04020 4.960 0.000101
(Intercept) .
x ***
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1877 on 18 degrees of freedom
Multiple R-squared: 0.5775, Adjusted R-squared: 0.554
F-statistic: 24.6 on 1 and 18 DF, p-value: 0.0001013
> names(output_more)
[1] "call" "terms"
[3] "residuals" "coefficients"
[5] "aliased" "sigma"
[7] "df" "r.squared"
[9] "adj.r.squared" "fstatistic"
[11] "cov.unscaled"
- 函数list()
x1=1:15
> x2=LETTERS[1:18]#生成前18个大写字母
> x3=sample(c(TRUE,FALSE),size=20,replace=TRUE)
> L=list(num=x1,ABC=x2,TF=x3)
> #显示L中的第一列
> L$num;**L[[1]]**;L[[""]]
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
NULL
> L$num;L[[1]];L[["num"]]
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> #显示第一个子列表
> **L[1]**
$num
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#注意L[1]和L[[1]]的区别
- 常规数据对象处理
- 向量的处理
1、利用正整数取值筛取数据
#利用正整数取值筛选数据
> x=seq(1,10,2)
> x[5]
[1] 9
> x[length(x)]
[1] 9
> length(x)
[1] 5
> x[2:5]
[1] 3 5 7 9
> x[c(2,3,4,5)]
[1] 3 5 7 9
> x[3]
[1] 5
2、利用逻辑条件筛取数据
#利用逻辑条件筛选数据
> x=c(-23,24,25,30,-69)
> index=x>20
> index
[1] FALSE TRUE TRUE TRUE FALSE
> x[c(FALSE,TRUE)]
[1] 24 30
> x[x>20]=0
> x
[1] -23 0 0 0 -69
3、利用负整数筛取数据
#利用负整数取值筛除数据
> x=c(1.5,2.6,3.7,4.8,5.9,6)
> x[-(1:2)]
[1] 3.7 4.8 5.9 6.0
> x[-(5:6)]
[1] 1.5 2.6 3.7 4.8
> x[-6]
[1] 1.5 2.6 3.7 4.8 5.9
> x[-7]
[1] 1.5 2.6 3.7 4.8 5.9 6.0
> x[-8]
[1] 1.5 2.6 3.7 4.8 5.9 6.0
> x[1:8]
[1] 1.5 2.6 3.7 4.8 5.9 6.0 NA NA
4、常用向量运算函数
#常用的向量运算函数
> x=1:20
> length(x)
[1] 20
> max(x)
[1] 20
> min(x)
[1] 1
> range(x)
[1] 1 20
> prod(x)
[1] 2.432902e+18
> sum(x)
[1] 210
> sum(x)
[1] 210
> any(x>10)
[1] TRUE
> all(x>10)
[1] FALSE
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 5.75 10.50 10.50 15.25 20.00
> cumsum(x)
[1] 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210
> cummin(x)
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> cummax(x)
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20