R_例题命令(非参数统计 2015)
- 格式:ppt
- 大小:363.00 KB
- 文档页数:13


r语言多组数据非参数检验主题:R语言中多组数据的非参数检验引言:在统计学中,我们经常需要对不同组别的数据进行比较和分析。
而非参数检验是一种常用的方法,可以用于比较不同组别的数据,而不需要对数据具有特定的分布形式。
R语言是一种强大的统计分析工具,提供了多种非参数检验方法,使得我们可以轻松地进行多组数据的比较。
本文将以R语言为工具,一步一步介绍多组数据的非参数检验方法。
一、读取数据:首先,我们需要从外部文件或者直接在R中定义数据,用于后续的分析。
在R中,可以使用read.csv()函数读取csv格式的文件,或者使用read.table()函数读取其他格式的文件。
在本文中,我们假设我们已经读取了两组数据,分别命名为group1和group2。
二、描述性统计分析:在进行非参数检验之前,我们需要先对数据进行一定的描述性统计分析,以了解数据的分布状况和基本特征。
在R语言中,可以使用summary()函数来计算数据的各种统计量,如均值、中位数、四分位数等。
此外,我们还可以使用hist()函数绘制直方图,来观察数据的分布情况。
三、非参数检验方法选择:在进行非参数检验之前,我们需要根据数据的特点选择合适的非参数检验方法。
常用的非参数检验方法包括Wilcoxon秩和检验、Mann-Whitney U检验、Kruskal-Wallis单因素方差分析等。
在R语言中,可以使用wilcox.test()函数进行Wilcoxon秩和检验,使用wilcox.test()或者kruskal.test()函数进行多组数据的比较。
四、Wilcoxon秩和检验:假设我们要比较group1和group2两组数据之间的差异。
我们可以使用wilcox.test()函数进行Wilcoxon秩和检验。
该检验假设两组数据的分布形状相同,只有位置参数不同。
在R语言中,我们可以使用如下代码进行Wilcoxon秩和检验:wilcox.test(group1, group2, paired = FALSE)其中,group1和group2分别表示两组数据的向量,paired = FALSE表示两组数据是不相关的。
非参数统计(R软件)参考答案本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March内容:, ,上机实践:将MASS数据包用命令library(MASS)加载到R中,调用自带“老忠实”喷泉数据集geyer,它有两个变量:等待时间waiting和喷涌时间duration,其中…(1) 将等待时间70min以下的数据挑选出来;(2) 将等待时间70min以下,且等待时间不等于57min的数据挑选出来;(3) 将等待时间70min以下喷泉的喷涌时间挑选出来;(4) 将喷涌时间大于70min喷泉的等待时间挑选出来。
解:读取数据的R命令:library(MASS);#加载MASS包data(geyser);#加载数据集geyserattach(geyser);#将数据集geyser的变量置为内存变量(1) 依题意编定R程序如下:sub1geyser=geyser[which(waiting<70),1];#提取满足条件(waiting<70)的数据,which(),读取下标sub1geyser[1:5];#显示子数据集sub1geyser的前5行[1] 57 60 56 50 54(2) 依题意编定R程序如下:Sub2geyser=geyser[which((waiting<70)&(waiting!=57)),1];#提取满足条件(waiting<70& (waiting!=57)的数据.Sub2geyser[1:5];#显示子数据集sub1geyser的前5行[1] 60 56 50 54 60 ……原数据集的第1列为waiting喷涌时间,所以用[which(waiting<70),2](3)Sub3geyser=geyser[which(waiting<70),2];#提取满足条件(waiting<70)的数据,which(),读取下标Sub3geyser[1:5];#显示子数据集sub1geyser的前5行[1] ……原数据集的第2列为喷涌时间,所以用[which(waiting<70),2](4)Sub4geyser=geyser[which(waiting>70),1];#提取满足条件(waiting<70)的数据,which(),读取下标Sub4geyser[1:5];#显示子数据集sub1geyser的前5行[1] 80 71 80 75 77…….如光盘文件中的数据,一个班有30名学生,每名学生有5门课程的成绩,编写函数实现下述要求:(1) 以的格式保存上述数据;(2) 计算每个学生各科平均分,并将该数据加入(1)数据集的最后一列;(3) 找出各科平均分的最高分所对应的学生和他所修课程的成绩;(4) 找出至少两门课程不及格的学生,输出他们的全部成绩和平均成绩;(5) 比较具有(4)特点学生的各科平均分与其余学生平均分之间是否存在差异。
1. R语言卡方检验皮尔森拟合优度塔防检验。
假设H0:总体具有某分布F 备择假设H1:总体不具有该分布。
我们将数轴分成若干个区间,所抽取的样本会分布在这些区间中。
在原假设成立的条件下,我们便知道每个区间包含样本的个数的期望值。
用实际值Ni 与期望值Npi可以构造统计量K 。
皮尔森证明,n趋向于无穷时,k收敛于m-1的塔防分布。
m为我们分组的个数。
有了这个分布,我们就可以做假设检验。
#如果是均匀分布,则没有明显差异。
这里组其实已经分好了,直接用。
H0:人数服从均匀分布> x <- c(210,312,170,85,223)> n <- sum(x); m <- length(x)> p <- rep(1/m,m)> K <- sum((x-n*p)^2/(n*p)); K #计算出K值[1] 136.49> p <- 1-pchisq(K,m-1); p #计算出p值[1] 0 #拒绝原假设。
在R语言中chisq.test(),可以完成拟合优度检验。
默认就是检验是否为均匀分布,如果是其他分布,需要自己分组,并在参数p中指出。
上面题目的解法:chisq.test(x)Chi-squared test for given probabilitiesdata: xX-squared = 136.49, df = 4, p-value < 2.2e-16 #同样拒绝原假设。
例,用这个函数检验其他分布。
抽取31名学生的成绩,检验是否为正态分布。
> x <- c(25,45,50,54,55,61,64,68,72,75,75,78,79,81,83,84,84,84,85,86,86,86,87,89,89,89,90,91,91,92,100)> A <- table(cut(x,breaks=c(0,69,79,89,100))) #对样本数据进行分组。