[精彩]r措辞 卡方考验
R语言使用简介(转载)
这篇介绍写得挺好,请选了应用统计学课的同学看一看。
R模拟著名的统计软件:S,PLUS。两者语法基本相同,有些功能R少一些,例如:S,PLUS有菜单而R没有,不过,R也正在开发菜单系统。
对于windows系统,下载R的安装程序:setupR.exe。安装后,运行安装
目录
工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录
的bin子目录下的Rgui.exe,即运行R。
R打开后界面简洁,它没有做数据分析用的菜单系统,我们所有的分析工作都是在程序窗口中输入程序来完成。你会看到有一个红色的:>?,就在这里输入程序。普通模式中,每输入一条语句,回车后就执行。也可以把程序输入在一个文件中,用source函数来调用执行,例如:source("C:\\work\\pro.txt"),表示调用c盘work目录下的pro.txt文件同时执行其中的R程序,请注意文件路径的写法。
基本语法:
R的变量名一般是由字母开头的,其后可有数字,下划线不可以,请注意:R的变量名和命令是区分大小写的。
R中用 -> 和 <- 来进行赋值,这两个符号功能一样,只是方向不同。例如:15->x 表示把值15赋值给变量 x ,用x<-15 ,效果是一样的。例如:10->x ,表示 把10赋值于x,数值变量;“www”->y ,表示把字符串”www”赋值于y,字符变量。 数据输入:
c(12,14,16,33)->x 表示把一个向量(12,14,16,33)赋予变量x。简单的就可以理解为x是一个数值变量,目前有数据12,14,16,33。用求均值函数mean()就可以求其平均数:mean(x),系统会输出 18.75。类似的,sd(x)输出标准差9.64,median(x)则输出中位数 15。 c(''tr'',''tsed'',''ddd'')->y 此时y是一个字符串的向量,可以理解为y是一个字符变量。
采用data.frame(x,y)可以把x和y这两个变量组合为一个二维数据集。如:data.frame(x,y)->z 表示z包含了x和y变量,类似一个数据集。你键入 z 回车,就可以看到它的内容。可以用 $ 符号来引用数据集中的变量,例如:mean(z$x) ,即计算z中的x的均数,得到18.75。
如果有一个输好数据的数据文件,则可以用read.table()函数来读入数据。比如有一个文件c:/test.txt包含了数据。用read.table(''c:/test.txt'',header=T,sep=",")->t。表示读入此文件并保存为t,文件的第一行是变量名(header=T);分隔符是逗号(sep=",")。如果数据集中有一个变量为dd,用t$dd就可以引用dd,如:sd(t$dd)表示计算其标准差。类似的,用read.epi()函数可以读入epi info数据库,也还有类似函数可以读入stata等常用数据库文件。
统计描述:
采用R函数可以计算描述性统计指标。
算术均数:mean() 例:mean(x)或mean(data$x)
几何均数:exp(mean(log(x))) 采用了函数嵌套,即先取对数log(),然后求平均mean(),再求反对数exp()
中位数:median()
方差:var()
标准差:sd()
假设检验:
T检验:R中采用t.test()函数。
用法:1、t.test(x) 表示对x做总体均数为0的t检验
2、t.test(x,mu=10) 表示做总体均数为10的t检验
3、t.test(x,y) 表示对两个变量x,y做两样本均数的成组t检验
4、t.test(x~group) 表示group为分组变量,x为数值变量,做t检验,此时x和y应该在同一个数据集中。
5、 t.test(x[group==1],x[group==2]) 表示对group,1和2时的x做t检验 方差分析:利用lm()函数
如果一个数据集dd中,x是数值变量,g是分组变量,运行:lm(dd$x~dd$g) ,这样实际是拟合一个线性模型,x为应变量,g为自变量。缺省的输出很少,只有g和截据的系数,采用summary()函数可以输出较多信息。即:summary(lm(dd$x~dd$g)) 这样将会输出常见方差分析所需要输出的全部信息,诸位一试便知。
这里提示了R的一个特性:缺省的输出往往是很少的,其实有很多的结果被保存在背后,需要用语句提取出来的。
秩和检验: wilcox.test()函数和kruskal.test()函数
wilcox.test(x) 表示对x做均数为0的符号秩和检验
kruskal.test(x,g) 表示x为数值变量而g为分组变量,做秩和检验
卡方检验:chisq.test()
对于如下四格表资料:12 5
24 11 首先建立四格表:matrix(c(12,24,5,11),crow=2)->data
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
:data中存储了四格表资料,也就是一个矩阵。c(12,24,5,11)是一个向量,crow=2表示有两行,请注意行列的顺序:即先排“列”数据,再排“行”数据。
然后进行卡方检验:chisq.test(data)
对于四格表卡方,缺省的用Yates连续性校正。如果用:chisq.test(data,correct=FLASE),则不进行Yates校正。如果理论数过小,则输出时会提示卡方检验可能不正确,此时就需要用fisher精确概率法:fisher.test(data)。
线性相关
采用cor()函数可以计算两变量的线性相关系数;采用cor.test()函数可以计算相关系数比进行假设检验、提供相关系数可信区间。
例如:c(12,15,13,16,21,22,14)->x
c(25,56,45,15,32,16,45)->y cor.test(x,y) 即可对x和y进行线性相关分析,计算两者的相关系数并进行假设检验。
线性回归:
lm()函数可以拟合一般线性模型。例如:lm(y~x+z) 便是拟合应变量为y,自变量为x和z的回归方程。直接使用lm(y~x+z) 只能输出x和z的回归系数,用summary(lm(y~x+z)),即外部套上summary函数,可以输出线性回归分析的大部分内容。summary(lm(y~x+z+x*z)) 则是考虑了x和z的交互作用了。
结
R中能够实现各种常用统计分析,这,一般成熟的统计软件都是具有的。 R,作为s+的一个克隆,其实是S语言的一个编程环境。
R中一切都是对象。
R中的功能主要是以函数的形式实现。使用者可以修改(重载)这些函数,也可以开发新的函数。
R有很多package,实现各种功能,可以在R的站点cran中下载安装各种package以扩展功能。