简单介绍一下R中的几种统计分布及常用模型 (5)


crossprod(A,B)——A %*% t(B) ,内积
tcrosspeod(A,B)——t(A) %*% B,外积
%*%——内积,a1b1+a2b2+...+anbn=a*b*cos<a,b>,crossprod(x)表示x与x的内积。||x||2,矩阵相乘
%o%——外积,a*b*sin<a,b>(矩阵乘法,叉积),tcrossprod(x,y)表示x与y的外积。*表示矩阵中对应元素的乘积!
向量内积(点乘)和向量外积(叉乘)
正态分布
dnorm(x,mean=0,sd=1,log=FALSE)——正态分布的概率密度函数
pnorm(x,mean=0,sd=1)——返回正态分布的分布函数·
rnorm(n,mean=0.sd=1)——生成n个正态分布随机数构成的向量
qnorm()——下分为点函数

qqnorm(data)——画出qq散点图
qqline(data)——低水平作图,用qq图的散点画线
qq.plot(<x>,main=\'\')——qq图检验变量是否为正态分布
简单分析
summary()——描述统计摘要,和 Hmisc()包的describe()类似,会显示NA值,四分位距是第1个(25%取值小于该值)和第3个四分位数(75%取值小于该值)的差值(50%取值的数值),可以衡量变量与其中心值的偏离程度,值越大则偏离越大。

table(<datafame>$<var>)——统计datafame数据中属性变量var的数值取值频数(NA会自动去掉!),列联表
table(<data_var_1>, <data_var_2>)——比较两个data_var,<data_var_1>为列,<data_var_2>为行,先列后行!
xtabs(formular,data)——列联表
ftable( table())——三维列联表
prop.table()——统计所占百分比例
prop.table(table(<data_var_1>, <data_var_2>),<int>)——比较两个data_var所占百分比,<int>填1位按行百分计算,2为列计算
margin.table( table(),<int> )——计算列联表的边际频数(边际求和),<int>=1为按列变量
addmargin.table(table(),<int> )——计算列联表的边际频数(边际求和)并求和,<int>=1为按列变量

as.formula(<string>)——转换为一个R公式,<string>是一个字符串
循环时的判断语句:
ifelse(<test>, <yes>, <no>)——if,else的变种,test是判断语句,其中的判断变量可以是一个向量!yes是True时的赋值,no是False时的赋值

hist(<data>,prob=T,xlab=\'横坐标标题\',main=\'标题\',ylim=0:1,freq,breaks=seq(0,550,2))——prob=T表示是频率直方图,在直角坐标系中,用横轴每个小区间对应一个组的组距,纵轴表示频率与组距的比值,直方图面积之和为1;prob位FALSE表示频数直方图;ylim设置纵坐标的取值范围;freq为TRUE绘出频率直方图,counts绘出频数直方图,FALSE绘出密度直方图。breaks设置直方图横轴取点间隔,如seq(0,550,2)表示间隔为2,从0到550之间的数值。

density(<data>,na.rm=T)——概率密度函数(核密度估计,非参数估计方法),用已知样本估计其密度,作图为lines(density(data),col="blue")
ecdf(data)——经验分布函数,作图plot(ecdf(data),verticasl=FALSE,do.p=FALSE),verticals为TRUE表示画竖线,默认不画。do.p=FALSE表示不画点处的记号
假设检验

分布函数
shapiro.test(data)——正态W检验方法,当p值大于a为正态分布
ks.test(x,y)——经验分布的K-S检验方法,比较x与y的分布是否相同,y是与x比较的数据向量或者是某种分布的名称,ks.test(x, rnorm(length(x), mean(x), sd(x))),或ks.test(x,"pnorm",mean(x),sd(x))

chisq.test(x,y,p)——Pearson拟合优度X2(卡方)检验,x是各个区间的频数,p是原假设落在小区间的理论概率,默认值表示均匀分布,要检验其它分布,比如正态分布时先构造小区间,并计算各个区间的概率值,方法如下:
brk<-cut(x,br=c(-6,-4,-2,0,2,4,6,8))#切分区间
A<-table(brk)#统计频数
p<-pnorm(c(-4,-2,0,2,4,6,8),mean(x),sd(x))#构造正态分布函数
p<-c(p[1],p[2]-p[1],p[3]-p[2],p[4]-p[3],p[5]-p[4],p[6]-p[5],p[7]-p[6])#计算各个区间概率值
chisq.test(A,p=p)
正态总体的均值方差
t.test(x,y,alternative=c("two.sided","less","greater"),var.equal=FALSE)——单个正态总体均值μ或者两个正态总体均值差μ1-μ2的区间估计;alternative表示备择假设:two.side(默认)是双边检验,less表示H1:μ<μ0,greater表示H1:μ>μ0的单边检验(μ0表示原假设);当var.equal=TRUE时,则是双样本方差相同的情况,默认为不同
var.test(x,y)——双样本方差比的区间估计
独立性检验(原假设H0:X与Y独立)
chisq.test(x,correct=FALSE)——卡方检验,x为矩阵,dim(x)=c(2,2),对于大样本(频数大于5)
fisher.test()——单元频数小于5,列联表为2*2
相关性检验(原假设H0:X与Y相互独立)
cor.test(x,y,method=c("pearson","kendall","spearman"))——相关性检验,观察p-value小于0.05则相关。method选择相关性检验方法

rank()——秩统计量
cor.test()——秩相关检验:Spearman,Kendall
wilcox.test(x,y=NULL,mu,alternative,paired=FALSE,exact=FALSE,correct=FALSE,conf.int=FALSE)——秩显著性检验(一个样本来源于总体的检验,显著性差异的检验),Wilcoxon秩和检验(非成对样本的秩次和检验),mu是待检测参数,比如中值,paired逻辑变量,说明变量x,y是否为成对数据,exact说民是否精确计算P值,correct是逻辑变量,说明是否对p值采用连续性修正,conf.int是逻辑变量,给出相应的置信区间。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxxfy.html