基础02(非参数统计新)课件

上传人:F****n 文档编号:88139228 上传时间:2019-04-19 格式:PPT 页数:48 大小:331KB
返回 下载 相关 举报
基础02(非参数统计新)课件_第1页
第1页 / 共48页
基础02(非参数统计新)课件_第2页
第2页 / 共48页
基础02(非参数统计新)课件_第3页
第3页 / 共48页
基础02(非参数统计新)课件_第4页
第4页 / 共48页
基础02(非参数统计新)课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基础02(非参数统计新)课件》由会员分享,可在线阅读,更多相关《基础02(非参数统计新)课件(48页珍藏版)》请在金锄头文库上搜索。

1、,1.3 高级数据结构 数据对象:矩阵,数组,数据框架和列表 矩阵是二维向量,每个元素需要用两个指标表示,行和列。 同理 n维数组。 向量,矩阵,数组要求一致的数据类型。 数据框与矩阵类似,不同点是可以允许类型不同。 列表是数据框的扩展,可以是不整齐的行和列。,1.3.1 矩阵的操作和运算 1. 定义 matrix (data,nrow,ncol, byrow=F),例子:把c(1,2,20)转换为4*5矩阵: x=matrix(1:20,4,5, byrow=F);x ,1 ,2 ,3 ,4 ,5 1, 1 5 9 13 17 2, 2 6 10 14 18 3, 3 7 11 15 19

2、4, 4 8 12 16 20 x=matrix(1:20,4,5,byrow=T);x ,1 ,2 ,3 ,4 ,5 1, 1 2 3 4 5 2, 6 7 8 9 10 3, 11 12 13 14 15 4, 16 17 18 19 20 赋予列名 dimnames(x.matrix)=list(NULL,c(“a”, “b”) x.matrix#NULL,取消相应名称,,X-matrix(1:6,ncol=2,byrow=T) dimnames(X)-list(c(“one“,“two“,“three“),c(“First“,“Second“) 2.元素的提取 x.matrix1,2

3、x3,4 x,2,3.运算 x=matrix(c(1,2,3,4),2) y=matrix(c(3,1,5,2),2) 数乘 2*x 加 减 x+y 转置 t(x) solve (x,y) #解xt=y,apply(data,dim,function,) x-matrix(c(1,2,3,4),2) apply(x,2,max) apply(x,2,min),x=matrix(1:30,5,6);y=matrix(rnorm(20),4,5) apply(x,1,mean) 1 13.5 14.5 15.5 16.5 17.5 apply(x,2,sum) 1 15 40 65 90 115

4、140 apply(x,2,prod) 1 120 30240 360360 1860480 6375600 17100720,4.合并 cbind 与 rbind x=matrix(c(1,2,3,4),2);y=matrix(c(3,1,5,2),2) z=c(7,6) cbind(x,z) rbind(x,z),1.3.2 数组 生成数组或矩阵 数组(array)可以看成是带多个下标的类型相同的元素的集合,常用的是数值型的数组如矩阵,也可以有其它类型(如字符型、逻辑型、复数型)R可以很容易地生成和处理数组,特别是矩阵(二维数组) 数组有一个特征属性叫做维数向量(dim属性),维数向量是一

5、个元素取正整数值的向量,其长度是数组的维数,比如维数向量有两个元素时数组为二维数组(矩阵)维数向量的每一个元素指定了该下标的上界,下标的下界总为1,a将向量定义成数组 向量只有定义了维数向量(dim属性)后才能被看作是数组,比如: z-1:12 dim(z)-c(3,4) 注意:矩阵的元素是按列存放的,也可以把向量定义为一维数组,例如: dim (z)-12,2用array()函数构造多维数组 R软件可以用array()函数直接构造数组,其构造形式为 array(data=NA, dim=length(data), dimnames=NULL) 其中data是一个向量数据,dim是数组各维的长

6、度,缺省时为原向量的长度dimnames是数组维的名字,缺省时为空,如 x-array(1:20,dim=c(4,5) 产生一个4x5的二维数组(矩阵),1.3.3 数据框,数据框是R的一种数据结构,它通常是矩阵形式的数据,但矩阵各列可以是不同类型的,数据框每列是一个变量,每行是一个观测 但是,数据框有更一般的走义,它是一种特殊的列表对象,有一个值为“data.frame“的class属性,各列表成员必须是向量(数值型、字符型、逻辑型)、因子、数值型矩、列表,或其它数据框,向量、因子成员为数据框提供一个变量,如果向量非数值型会被强制转换为因子,而矩阵、列表、数据框这样的成员为新数据框提供了和其

7、列数、成员数、变量数相同个数的变量,作为数据框变量的向量、因子或矩阵必须具有相同的长度(行数),尽管如此,一般还是可以把数据框看作是一种推广了的矩阵,它可以用矩阵形式显示,可以用对矩阵的下标引用方法来引用其元素或子集 1数据框的生成 数据框可以用data.frame()函数生成,其用法与list()函数相同,各自 变量变成数据框的成分,自变量可以命名,成为变量名,例如,df-data.frame( Name=c(“Alice“,“Becka“,“James“,“Jeffrey“,“John“), Sex=c(“F“,“F“,“M“,“M“,“M“), Age=c(13,13,12,13,12)

8、, Height=c(56.5,65.3,57.3,62.5,59.0), Weight=c(84.0,98.0,83.0,84.0,99.5) );df,如果一个列表的各个成分满足数据框成分的要求,它可以用as.data.frame()函数强制转换为数据框,比如, lst-list( Name=c(“Alice“,“Becka“,“James“,“Jeffrey“,“John“), Sex=c(“F“,“F“,“M“,“M“,“M“), Age=c(13,13,12,13,12), Height=c(56.5,65.3,57.3,62.5,59.0), Weight=c(84.0,98.0,

9、83.0,84.0,99.5) );lst #则as.data.frame(lst)是与df相同的数据框 as.data.frame(lst),attach() 数据绑定 a=matrix(c(1,2,3,4),2) t=c(“good”, “good”) new.a=data.frame(a,t) attach(new.a) t X1 detach() 解除,1.3.4 列表 a. 列表的构造 列表是一种特别的对象集合,它的元素也由序号(下标)区分,但是各元素的类型可以是任意对象,不同元素不必是同一类型,元素本身允许是其它复杂数据类型,比如,列表的一个元素也允许是列表,下面是如何构造列表的例

10、子 lst-list(name=c(“Fred“,“wife“,“Mary“),no.children=3,child.ages=c(4,7,9),列表元素总可以用“列表名下标”的格式引用,例如, lst2 lst32 但是,列表不同于向量,我们每次只能引用一个元素,如lst1:2的用法是不允许的,注意:“列表名下标”或“列表名下标范围”的用法也是合法的,但其意义与用两重括号的记法完全不同,两重记号取出列表的一个元素,结果与该元素类型相同,如果使用一重括号,则结果是列表的一个子列表(结果类型仍为列表) 在定义列表时如果指定了元素的名字(如lst中的name,wife,nochildren,ch

11、ild. ages),则引用列表元素还可以用它的名字作为下标,格式为“列表名“元素名“,如 lst“name“ lst“child.ages“,另一种格式是“列表名$元素名”,如 lst$name lst$child.ages 构造列表的一般格式为 lst-list(name_l=object_l, , name_m=object_m) 其中name是列表元素的名称, object是列表元素的对象,2列表的修改 列表的元素可以修改,只要把元素引用赋值即可,如将Fred改成John. lst$name- “John“ 如果需要增加一项家庭收入,夫妻的收入分别是1980和1600,则输入 lst$

12、income-c(1980, 1600) 如果要删除列表的某一项,则将该项赋空值(NULL) 几个列表可以用连接函数c()连接起来,结果仍为一个列表,其元素为各自变量的列表元素,如 list.ABC-c(list.A, list.B, list.C),3返回值为列表的函数 在R中,有许多函数的返回值是列表,如求特征值特征向量的函数eigen(),奇异值分解函数svd()和最小二乘函数数lsfit()等,1.4 数据处理,在应用统计学中,数据量一般是比较大的,变量也很多,如果用上述方法来建立数据集,是不可取的,上述方法适用于少量数据、少量变量的分析,对于大量数据和变量,一般应在其他软件中输入(或

13、数据来源是其他软件的输出结果),再读到R中处理 R软件有多种读数据文件的方法。 另外,所有的计算结果也不应只在屏幕上输出,应当保存在文件中,以备使用。,1.4.1 保存数据,write.table (): data(iris) iris1:3 write.table(iris,“C:x.TXT”),1.4.2 读入数据,读纯文本文件有两个函数,一个是read.table()函数,另一个是scan()函数 1read.table()函数 read.table()函数是读表格形式的文件:,read.table(“C:student.TXT“) V1 V2 V3 V4 V5 V6 1 name ma

14、th physics chem literat english 2 Katty 65 61 72 84 79 3 Leo 77 77 76 64 55 4 Ricky 67 63 49 65 57 5 Marry 80 69 75 74 63 6 Mark 74 70 80 84 74 7 Steven 78 84 75 62 64 8 Simon 66 71 67 52 57 9 Angel 77 71 57 72 71 10 Jed 83 100 79 41 50,1.4.3 数据转换,as.factor(x) 转换为因子 as.array(x) as.character(a) as.nu

15、meric(x) as.data.frame (x) a=factor(c(1,2,5),levels=c(1,3,5) a as.numeric(a) a1=as.character(a) a2=as.numeric(a1) a2 先 转化为字符型-数值型,28,类的转换,as.numeric() #转换为数值型 as.logical() #转换为逻辑型 as.charactor() #转换为字符串 as.matrix() #转换为矩阵 as.data.frame() #转换为数据框 as.factor() #转换为因子,因为R中对矢量的计算是对矢量中的各个元素单独进行的,因此在R中很容易对数据进行转换。如果生成了新的数据行或列,可以用rbind()或cbind()把它们组合到已有的数据框中。,相关函数,R中还有一些可以专门用于数据转换的函数,可以简化数据转化的操作: transform()可以对数据框中已有的元素的值进行转换,也可以利用已有的变量生成新的变量。 apply()可以把函数操作运用到矩阵的行或列上去。 lapply()可以把函数操作运用到列表或数据框中的行或列上去,返回值为列表。,sapply()与lapply()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号