点击上方“蓝字”关注我们吧!
一、R的基本使用
# 注释
> 提示输入指令
+ 命令没有输完的提示符
键盘的上下键:查看或选择历史命令
区分大小写:是
在好几条命令中间加;,可以同时执行多组命令
CTRL+L #清屏rm(list = ls(all = TRUE)) #清除工作空间内存help(ts); help.search("lm"); apropos("lm");?lm #帮助setwd("C:\\Users") #设置路径getwd() #显示路径load() # load workspacels() #列出内存中全部对象的名称search() #列出当前使用的程序包q() # quit,退出R
二、变量的计算赋值
1、赋值
x=1;y=2;x+3;z=x+y;zx+y->zx=c(1:100) # 行向量assign(“x”,c(10.4,5.6,1,2)) #给x赋值y=numeric(length=10) #初始化向量y1=vector(mode=”numeric”,length=5) #初始化向量
2、四则运算
+ - * / ^
%/% 整除
%% 取余数
< <= > >= == !=
x|y x&y
3、常用函数
abs(x) #求绝对值sum(x) #求和sqrt(x) #开根号min() max() mean() median() var() sd() sin() log(x) exp() det() which.min() which.max() range(x)lag(x, k=10) #延迟运算log(x,base=5) #以5为底求对数quantile(x,probs) #分位数,probs分位点取(0,1)factorial(x) #阶乘x!choose(n,k) #cnklx=x1[1:99] x=x1[2:100]floor(x) #下取整,ceiling(x) #上取整,>x的最小整数trunc(x) #靠近0取整diff(x,k) #k步差分,xt-xt-khead(x) #显示x的前6个观测值diag(x)summary(x) #显示x的基本统计量prod(x) #连乘length(x) #向量的维度sort(x)order(x)sort.list()set.seed(n) #产生以n为基数的随机数种子runif(n) #产生n个(0,1)区间的均匀分布随机数rnorm(n=,mean=,sd=) #产生正态分布随机数pnorm(x) #计算正态分布在x点时的累积分布函数qnorm(q) # q分位数对应的x ,与pnorm互逆dnorm #概率密度dt / pt / qt / rt #t分布df / pf / qf / rf #F分布gamma(x)
4、数值调用
x[5] #X的第5个数
5、多借助help命令
help(ts)help.search("lm")apropos("lm")?lm??lm
三、画图
1、单变量基本画图
y=range(1:100)y=ts(y,start=1920)plot(y)plot(y,type=”l”, pch=10, lty=2, lwd=2, col=2,main=”ad”,sub=””,xlab=””,ylab=””, xlim=c(1920,2019), ylim=c(20,30) )abline(v=2001,lty=2) abline(v=c(2001,2008),lty=2,col=1) #垂直参照线abline(h=c(22.5 25.5),lty=2) #水平参照线#type—— “p”:点;“l”:线;“b”:点连线;“o”:线穿过点;“h”:悬垂线;“s”:阶梯线#pch符号参数:1-25#lty连线类型:1-6,分别代表实线、虚线、点线、点+短虚线、长虚线、点+长虚线#lwd线宽:默认为1#col颜色:1-4,分别代表黑、红、绿、蓝#main标题文本#sub副标题文本#xlab横轴标签#ylab纵轴标签#xlim横坐标范围#ylim纵坐标范围# abline参照线:v、h分别表示垂直、水平参照线
2、x-y画图
plot(x,y,type=”l”,lty=2,lwd=2,main="",xlab="",ylab="")line(x,y,col=2)line(x,dnorm(x),col=3)#type—— “p”:点;“l”:线;“b”:点连线;“o”:线穿过点;“h”:悬垂线;“s”:阶梯线#pch符号参数:1-25#lty连线类型:1-6,分别代表实线、虚线、点线、点+短虚线、长虚线、点+长虚线#lwd线宽:默认为1#col颜色:1-4,分别代表黑、红、绿、蓝#main标题文本#sub副标题文本#xlab横轴标签#ylab纵轴标签#xlim横坐标范围#ylim纵坐标范围
3、自相关函数图
acf(x)acf(x,lag=10)acf(x,lag=10,plot = FALSE)
4、偏自相关函数图
pacf(x)pacf(x,lag=10)pacf(x,lag=10,plot = FALSE)
四、时间序列分析常用检验
1、平稳性检验
(1)看时序图是否有明显趋势
plot(x)
(2)看自相关图是否随着时间的推移趋于0
acf(x) #若自相关图呈单调特征或周期性变量规律,则非平稳
2、纯随机性检验
# Q检验:BP检验或LB检验,相当于检验所有的自回归系数是否全为0.
Box.test(x)Box.test(x,lag=4)Box.test(x,type=”Ljung-Box”,lag=5)for (i in 1:2) {print(Box.test(x,lag=6*i))}
3、正态分布检验
(1)与正态分布图进行对比
Install.packages(“MASS”)library(MASS)mu0,Sigma1,M1000, mu, Sigma)d2])plot(d$x,dnorm(d$x),col=2,type = "n")lines(d$x,dnorm(d$x),col=2,lwd=2) #正态分布的分布图lines(d,col=3,lwd=2) #生成的随机序列的分布图
(2)Q-Q图
# 两个quantile。quantile是我们的数据和标准正态分布的很多分位数组成的数组画出来的图。横坐标是标准的正态分布的quantile, 纵坐标是我们数据的图。如果两者基本相等,则这个散点图会非常像y=x。
qqnorm(M[,2])qqline(M[,2],col=2)
(3)normalTest
# 类似shapiro检验
install.packages(“fBasics“)library(fBasics)normalTest(x,method="jb")
(4)shapiro检验
shapiro.test(M[,2]) #Shapiro-Wilk方法进行正态检验
扫描关注我们,
一起来充电吧!