




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
R语言学习笔记第1章 R的使用1.R语句由函数和赋值。R使用-作为赋值符号:x x与 x - rnorm(5),这两个语句等价。2.简单的R会话:研究上述10名婴儿的:(1)体重分布;(2)体重和月龄的关系代码清单:age - c(1, 3, 5, 2, 11, 9, 3, 9, 12, 3) #使用函数c()以向量的形式输入月龄数据#weight - c(4.4, 5.3, 7.2, 5.2, 8.5, 7.3, 6, 10.4, #使用函数c()以向量的形式输入体重数据# 10.2, 6.1)mean(weight) #使用函数mean()求体重平均值#sd(weight) #使用函数sd ()求体重标准差#cor(age, weight) #使用函数cor()求体重与月龄之间相关系数#plot(age, weight) #使用函数plot(),以图形形式表现体重与月龄之间关系# q() #使用函数q ()结束程序#输出结果:第2章 创建数据集1. 访问向量中元素通过方括号中给定元素所处的数值,可以直接访问向量中的元素。例如,ac(3,5),访问向量a中的第3个和第5个元素。代码清单:a - c(1, 2, 5, 3, 6, -2, 4)a3ac(1, 3, 5)a2:6 #访问从第2个元素到第6个元素#输出结果:2. 创建矩阵矩阵都是二维的,和向量类似,矩阵中也仅能包含一种数据类型。通过函数matrix创建矩阵,一般格式如下:myymatrix - matrix(vector, nrow=number_of_rows, #nrow(行)#ncol=number_of_columns, #ncol(列) #byrow=logical_value, # byrow=true(按行填充)/ byrow=false(默认:按列填充)#dimnames=list(char_vector_rownames,char_vector_colnames) #dimnames包含了可选的以字符型向量表示的行名称和列名称#代码清单:y - matrix(1:20, nrow = 5, ncol = 4) #输出从1到20,5行4列,默认按列进行填充#y输出结果:代码清单:cells - c(1, 26, 24, 68) #向量赋值#rnames - c(R1, R2) #行名称#cnames - c(C1, C2) #列名称#mymatrix - matrix(cells, nrow = 2, ncol = 2, byrow = TRUE, #2行2列,按行填充# dimnames = list(rnames, cnames) #行列名称赋值#mymatrix输出结果:如果按照列填充:cells - c(1, 26, 24, 68)rnames - c(R1, R2)cnames - c(C1, C2)mymatrix - matrix(cells, nrow = 2, ncol = 2, byrow = FALSE, dimnames = list(rnames, cnames)mymatrix输出结果:我们可以使用下标和方括号来选择矩阵的行、列或元素。Xi,指矩阵x中的第i行,X,j指出第j列,xi,j指第i行第j个元素。选择多行或多列时,下标i和j可为数值型向量,如下代码清单演示:代码清单:x - matrix(1:10, nrow = 2) #没有对行、列名称进行命名,输出结果自动生成#x输出结果:代码清单:x2, #输出矩阵x中第2行#x,2 #输出矩阵x中第2列#x1,4 #输出矩阵x中第1行,第4列#x1,c(4,5) #输出矩阵x中第1行,第4、5列#3. 创建数组数组(array)与矩阵类似,但是维度可以大于2。数组可通过array函数创建,形式如下:myarray-array(vector,dimensions,dimnames) #vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,dimnames是可选的、各维度名称标签的列表#代码清单:dim1 - c(A1, A2) dim2 - c(B1, B2, B3)dim3 - c(C1, C2, C3, C4)z - array(1:24, c(2, 3, 4), dimnames = list(dim1, dim2, dim3) #将124按照列排方式,排列在4个2行3列,创建成三维(234)数值型数组#z输出结果:4. 创建数据框数据框是R中最常见的数据结构,数据框中不同的列可以包含不同模式的数据。mydata -data.frame(col1,col2,col3,) #列向量col1,col2,col3,可为任何类型,每一列的名称可由names指定。代码清单:(创建)patientID - c(1, 2, 3, 4)age - c(25, 34, 28, 52)diabetes - c(Type1, Type2, Type1, Type1)status - c(Poor, Improved, Excellent, Poor)patientdata - data.frame(patientID, age, diabetes, status)patientdata输出结果:代码清单:(选取数据框中的元素)patientdata1:2#或者patientdatac(patientID,age) 结果一样#代码清单:(选取数据框中的列向量)patientdata$age #$表示选取特定列向量#代码清单:(table生成列联表)table(patientdata$diabetes,patientdata$status)5. 因子的使用factor()以一个整数向量的形式存储类别值,整数的取值范围是1k,同时一个由字符串(原始值)组成的内部向量将映射到这些整数上。如:向量:diabetes-c(“Type1”, “Type2”, “Type1”, “Type1”)diabetes-factor(diabetes)将此向量存储为(1,2,1,1),并在内部将其关联为1=Type1和2=Type2(具体赋值根据字母顺序而定)要表示有序型变量,需要为函数factor()指定参数ordered=TRUE。给定向量:status-c(“Poor”,“Improved”,“Excellent”,“Poor”)语句status-factor(status,ordered=TRUE)会将向量编码为(3,2,1,3),并在内部将这些值关联为1=Excellent、2=Improved以及3=Poor。另外,针对此向量进行的任何分析都会将其作为有序型变量对待,并自动选择合适的统计方法。levels()可以覆盖默认排序。例如status-factor(status,order=TRUE,levels=c(“Poor”,“Improved”,”Excellent”)各水平的赋值将为1=Poor、2=Improved、3=Excellent代码清单:(因子的使用)patientID - c(1, 2, 3, 4)age - c(25, 34, 28, 52)diabetes - c(Type1, Type2, Type1, Type1)status - c(Poor, Improved, Excellent, Poor)diabetes - factor(diabetes)status - factor(status, order = TRUE)patientdata - data.frame(patientID, age, diabetes, status)str(patientdata)运行结果:summary(patientdata)6. 列表列表(list)是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合。列表的好处:1.列表允许以一种简单的方式组织和重新调用不相干的信息。2.许多R函数的运行结果都是以列表的形式返回的。列表允许你整合若干(可能无关的)对象到单个对象名下。例如,某个列表中可能是若干向量、矩阵、数据库,甚至其他列表的组合。可以使用函数list()创建列表:mylist-list(object1,object2,) 其中的对象可以是目前为止讲到的任何结构。也可以将列表中对象命名为:mylist-list(object1,object2,)代码清单:(列表)g - My First Listh - c(25, 26, 18, 39)j - matrix(1:10, nrow = 5)k - c(one, two, three)mylist - list(title = g, ages = h, j, k) #创建列表#mylist #输出整个列表#运行结果:$title
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论