ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:43.19KB ,
资源ID:3516033      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3516033.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(R语言傻瓜教程1基础.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

R语言傻瓜教程1基础.docx

1、R语言傻瓜教程1基础R语言傻瓜教程1基础0. 约定阴影为代码或R的输出内容。1. 安装1.1 安装R和RStudio(1)从.cn/cran/下载R语言相应版本,双击安装;(2)从/rstudio/download/下载RStudio安装。1.2 说明(1)R语言本身仅提供了命令行工具,一般用户可能会觉得使用不便,所以用RStudio作为工具来使用R语言;(2)RStudio仅为R的IDE(集成开发环境),依赖于R;(2)在苹果系统中,启动RStudio时要求安装command line tools,在弹出窗口中选择安装即可);(3)R和RStudio都是免费开放源代码的,所以尽可能在官方网站

2、上下载(R在全球有很多镜像,等同于官网,上述下载地址即其在北京交通大学的镜像)。2. 运行2.1 运行R语言如果不使用RStudio,双击R语言图标(如下图)即可启动。启动后如下图所示,在提示符处输入R语言命令。1.2 RStudio启动RStudio相对于R语言自身提供的命令行工具,使用要便捷得多。RStudio图标如下图。启动后RStudio的环境如下图所示。左侧为同启动R时一样的命行窗口;右上侧为“环境”和“历史”。环境是指当前R语言的运行环境,也称为工作空间,在使用过程中所创建的变量、数据都在这里列出,而用户在使用过程中输入的命令都在“历史”子窗口中列出。右侧包括“文件”、“绘图”、“

3、扩展包”、“帮助”、“视图”等子窗口。相关功能在后续使用过程中再详细说明。除此之外RStudio还有很多默认没有显示的子窗口,通过顶部菜单view中的选项可以选择显示它们。1.3 退出在退出时,R和RStudio默认都会弹出窗口询问是否保存工作空间,如果选择保存,则R或RStudio会保存全部的变量、数据等,下次打开R或RStudio时还可以继续使用而不用再次输入。如下分别为R和RStudio退出时的弹出窗口。3. R语言运算符号运算符号:+(加)、-(减)、*(乘)、/(除)、(乘方)、%/%整除、%求余;逻辑判断符号:(大于)、=(大于等于)、=(小于等于)、!=(不等)、 =(相等)逻辑

4、运算符号:&(逻辑与)、|(逻辑或,Enter键上边的竖线)赋值符号:示例:在命令窗口输入xa的功能与a-2一样。赋值符号也可以用=替代,但是在某些情况下会出错,所以不建议在R语言中使用。4. R语言数据类型4.1 基本数据类型R语言中基本数据类型是指仅包含一个数值的数据类型,主要包括数值型、字符型、逻辑型、空值等。(1)数值型如1,3.14等能够进行数学运算的数字。(2)字符型即文本数据,需放在双引号或单引号之间,如a”、abc、张三。特别提示,这里的单引号和双引号都是英文输入法下的双引号和单引号,中文的符号只能算是普通文本。在各种编程语言中,中文标点都只能作为同普通文本一样的字符使用,代码

5、中不应出现,如下代码会出现错误:x-“hello R”y-hello R下面是正确代码(注意引号):x-hello Ry- hello R用中文标点符号替代英文符号是初学编程的人最容易出现的错误,需特别注意以免打击学习积极性。(3)逻辑型逻辑型数据只有两个取值TRUE和FALSE,TRUE和FALSE必须是大写的。TRUE和FALSE可以分别简写为T和F,也必须大写。如:x-TRUEy-FALSE(4)空值在统计数据中常常会出现一些缺失的值,R语言中用一个特殊的值NA(大写)来表示。NA与其他数据的运算结果都是NA。如:x-NA有时候,不能确定一个变量是否是空值,R语言提供了一个函数is.na

6、()用来判断是否空值,如:x-NAis.na(x)结果为TRUE。4.2 数据对象R语言中数据对象是指包含一组数值的数据类型,主要包括向量、矩阵、数组、列表、数据框。(1)向量向量是由相同基本类型数值组成的序列,可以认为其等同于数学中的向量,在R语言中向量的使用相当频繁。在R语言中使用函数c()来创建一个向量,如:x-c(1,2,3,4,5)x输出为:1 1 2 3 4 5其中1为输出内容的行号。a. 向量运算向量的加减乘除运算是对向量元素的加减乘除运算。输入xc(1,2,3,4)x+1x输出为1 2 3 4 5输入x-c(1,2,3,4)y-c(1,1,1,1)x+y输出为1 2 3 4 5

7、。b. 快速生成有序向量(函数seq和rep)在需要大量有序数值向量时,为了避免手工输入的麻烦,R语言提供了快速生成的方法。如:输入x-1:10x输出为1 1 2 3 4 5 6 7 8 9 10输入x-10:1x输出为1 10 9 8 7 6 5 4 3 2 1上述利用“:”只能生成步长为1的向量,若要生成任意步长的向量需要使用函数seq(),它有三个参数,(最小值,最大值,步长)。如:输入x-seq(1,20,2)x输出为1 1 3 5 7 9 11 13 15 17 19输入x-seq(1,5,0.5)x输出为1 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0别外

8、一个函数rep()可以通过重复一个基本数值或数值对象多次来创建一个较长的向量,它有二个参数,(数据,重复次数)。如:输入x-rep(1,10)x输出1 1 1 1 1 1 1 1 1 1 1输入x-rep(c(1,2,3),3)x输出1 1 2 3 1 2 3 1 2 3c. 向量索引向量索引也称为向量中数值元素的下标,用来引用向量中的单个数值,用方括号表示,如:输入x-c(1,2,3,4,5)x1输出1 1向量索引除了引用单个值之外,还起过滤的作用,如:输入x3输出x中大于3的数值1 4 5d. 常用的向量函数函数名功能示例,已知x-c(2,1,5,3,4),y-c(8,9)输入输出sum求

9、和sum(x)1 15max最大值max(x)1 5min最小值min(x)1 1mean均值mean(x)1 3length长度length(x)1 5var方差var(x)1 2.5sd标准差sd(x)1 1.581139median中位数median(x)1 3quantile五个分位数quantile(x)0% 25% 50% 75% 100% 1 2 3 4 5sort排序sort(x)sort(x,TRUE)1 1 2 3 4 51 5 4 3 2 1rev倒序rev(x)1 4 3 5 1 2append添加append(x,8)append(x,y)1 2 1 5 3 4 81

10、 2 1 5 3 4 8 9replace替换replace(x,1,7)replace(x,c(1,2),7)1 7 1 5 3 41 7 7 5 3 4提示:利用help函数可以查看R语言文档。例如,当不知道replace函数的功能时,输入help(replace),在RStudio右下的help窗口中即显示repalce函数的详细说明。(2)矩阵矩阵运算虽然是统计理论的重要工具,但与基本统计方法的应用关系不大,因此没有矩阵运算基础可以跳过本部分。R语言中的矩阵基本等同与数学中的矩阵。R语言中使用matrix函数创建一个矩阵。matrix函数有三个参数,(数值向量,行数,列数)。如:输入x

11、-matrix(c(1,2,3,4),2,2)x输出两行两列的矩阵及其行号和列号 ,1 ,21, 1 32, 2 4matrix还有第四个参数byrow,即数据向量转为矩阵时数据的排列顺序,其默认值为FALSE,如:输入x-matrix(c(1,2,3,4),2,2,TRUE)输出 ,1 ,21, 1 22, 3 4a. 矩阵运算矩阵的+-*/运算是对矩阵元素的运算,如:输入x-matrix(c(1,2,3,4),2,2)x*2输出 ,1 ,21, 2 62, 4 8输入x-matrix(c(1,2,3,4),2,2)y-matrix(c(5,6,7,8),2,2)x+y输出 ,1 ,21,

12、6 102, 8 12矩阵运乘法运算符号为%*%,如:输入x-matrix(c(1,2,3,4),2,2)y-matrix(c(5,6,7,8),2,2)x%*%y输出 ,1 ,21, 23 312, 34 46b. 矩阵下标矩阵下标类似向量的下标。所不同的是,向量是两维的,下标包括两个数字,表示相应元素所在的行和列,如:输入x-matrix(c(1,2,3,4),2,2)x1,2输出第一行第二列元素1 3c. 常用的矩阵函数函数名功能diag取对角元素/生成对角阵solve求逆/解线性方程组eigen求特征向量/特征值rank求秩(元素位置,矩阵秩可用qr()$rank)t转置det行列式(

13、3)数组R语言中,数组是向量和矩阵的推广,向量和矩阵是数组的特殊形式。向量是一维数组,而矩阵是二维数组。利用array()函数创建数组,其参数为(数据向量,维数向量)如:输入x-array(c(1,2,3,4),c(2,2)x上述语句输入数据为1,2,3,4,生成两行两列的数组,输出为 ,1 ,21, 1 32, 2 4所以,array(c(1,2,3,4),c(2,2)等价于matrix(c(1,2,3,4),2,2)。利用array函数可以生成更高维的数组。注意:向量、矩阵和数组中也可以包含其他的数据类型,如字符型、逻辑型、空值。(4)列表向量、矩阵和数组要求元素必须为同一基本数据类型。如

14、果一组数据需要包含多种类型的数据,则可以使用列表,如:输入x-list(a=1,b=2,c=3)输出为$a1 1$b1 2$c1 3与向量、矩阵和数组相比,列表没有下标号,但是每个数据都有一个名字。数组使用下标来引用元素,而列表用名字来引用元素,如:输入x-list(a=1,b=2,c=3)x$a输出1 1列表与向量、矩阵和数组的另一个重要区别是,向量、矩阵和数组的元素只能是一个简单基本数据,而列表的元素还可以是其他的其他各种数据对象,比如向量、矩阵、数组或者另一个列表,如:输入x-list(a=1,b=c(1,2,3),c=ab,d=c(a,c,c),e=matrix(c(1,2,3,4),

15、2,2),f=list(a=1,b=2)x 这是一个复杂的列表,a为数字,b为向量,c为字符,d为字符向量,e为矩阵,而f为另一个列表。输出为$a1 1$b1 1 2 3$c1 a$d1 a c c$e ,1 ,21, 1 32, 2 4$f$f$a1 1$f$b1 2列表的名字可以连续引用,输入x$f$a输出为1 1(5)数据框数据框是另一种可以有不同基本数据类型元素的数据对象。简单来说,一个数据框包含多个向量,向量的数据类型可以不一样。因此,数据框是介于数组和列表之间的一种数据对象,与矩阵相比它可有不同数据类型,与列表相比它只能包含向量,而且这些向量的长度通常是相等的。a. 创建数据框R语

16、言使用data.frame()来创建数据框,如:输入x-c(张三,李四,王五,赵六)y-c(男,女,女,男)z-c(89,90,78,67)data.frame(x,y,z)输出为 x y z1 张三 男 892 李四 女 903 王五 女 784 赵六 男 67其中,每行行首的数字是该行名字,可以使用row.names()来重新为每行命名。输入row.names(student)80,输出 x y za 张三 男 89b 李四 女 905. 数据导入导出分别介绍利用RStudio导入数据,利用R函数导入导出数据。初学者可以忽略后一种方法。假设有文件student.txt以及student.c

17、sv,csv文件是以Tab符号分隔的文本文件,Excel数据可以另存为csv文件(Mac 系统中建议使用Numbers编辑、导出csv文件,以避免出现乱码)。这两个文件内容相同:姓名 性别 分数张三 男 89李四 女 90王五 女 78赵六 男 675.1 利用RStudio导入数据顶部菜单选择tools-Import Dataset-From Local File,弹出窗口选择要导入的数据文件,然后弹出如下窗口:因为数据文件中包含了列名,所以Heading选择yes;文件中列是用逗号分隔的,所以Separator选择Comma,点击Import即可导入数据并保存入student对象。其他格式

18、文件的导入方法一样。5.2 导入R包中的数据R的扩展包中常常包含样例数据,这些数据有助于学习扩展包的功能。此外,datasets包中包含大量的数据,可以用来学习R语言。要想利用这些数据,就要将它们导入到当前工作空间中来。可以利用data函数导入扩展包中的数据,如:输入data(package=datasets)该命令导入datasets包中的全部数据。输入data()查看当前工作空间的数据。输入data(Nile,package=datasets)该命令仅将datasets包中的Nile数据导入工作空间。此外,R语言在工作空间中使用扩展包前,要加载相应的扩展包,使用函数library可加载扩展

19、包,如:library(datasets)加载扩展包后,其中的数据集就会全部加载到工作空间中,可直接使用。5.3 利用R语言函数导入数据(1)读入文本文件read.table(student.txt,header=T,sep=,)(2)读入csv文件read.csv(student.csv,header=T,sep=,)(3)读入SPSS数据read.spss(dataname.sav)注意:如果数据文件不在当前工作目录中,需要加上正确的相对或绝对路径。5.4 导出数据(1)导出为文本write.table(student,student.txt)(2)导出为csv文件write.csv(st

20、udent,student.csv)6. 工作空间数据管理6.1 查看、删除、编辑数据a.列出工作空间全部数据变量名ls()b. 删除数据rm(dataname)c. 查看数据(注意大小写)View(dataname)d. 查看dataframe前10行head(dataframe)e. 查看dataframe后10行tail(dataframe)f. 编辑数据edit(dataname)或者fix(dataname)g. 删除矩阵或dataframe的行(假设有数据data)data-1, #删除第一行datac(-1,-2), #删除第一行和第二行data-1:-3, #删除第一行到第三行

21、h. 删除矩阵或dataframe的列 (假设有数据data)data,-1 #删除第一行data,c(-1,-2) #删除第一行和第二行data,-1:-3 #删除第一行到第三行6.2 变量处理a. dataframe添加一列或合并dataframedata.frame(old_dataframe,new_column)data.frame(dataframe1,dataframe2)b. 变量重命名方法1:edit()或fix()函数打开数据编辑器,点击变量名可以对其进行修改。方法2:names()函数。names()函数可以显示dataframe的变量名,也可以通过赋值进行修改,下述代码

22、将第一列变量名字改为new_name:names(dataframe)1-new_namec. 变量类型判断与转换类型判断转换数值型is.numericas.numeric字符型is.characteras.character向量is.vectoras.vector矩阵is.matrixas.matrix数据框is.data.frameas.data.frame逻辑型is.logicalas.logical示例:输入x-c(1,2,3,4)is.vector(x)输出TRUE输入xNew File-R Script即可以在RStudio中创建一个脚本文件。上述小节中在命令行中输入的指令都要以放

23、入脚本中。需要注意的是,R语言脚本每行只能入一条指令。如果一定要在一行中放置多条指令则需要用“;”隔开(英文输入法下的分号)。点击RStuio工具栏中的图标也可以创建R脚本。在原生的R语言中,创建脚本选择顶部菜单中File-New Document可以创建脚本。R语言脚本的扩展名为R。R语言为脚本提供了完整的程序语言语法,如if、for、while等语句,以及函数function定义等,有兴趣可以查找相关资料深入学习。7.2 执行R语言脚本在RStudio中,点击脚本编辑器顶部的按钮可以运行脚本中光标所在的行,按钮运行整个脚本中的全部指令。若要在命令窗口中运行脚本,用source()函数,如s

24、ource(myscript.R)。如果脚本不在当前工作空间中,则需要给出正确的路径。查看当前工作空间路径使用getwd()函数,也可以使用setwd()来设置新的工作空间。8. R语言的包R语言的功能是通过包(package)来实现的,因而其功能可以很容易的被拓展。正是R语言的这种开放性使得其具有强大的功能和时效性,新的算法被提出之后很快就有相应的拓展包被释放出来。(1)R语言中包的管理library() 查看全部已安装的包library(packagename) 加载名为packagename的包(.packages() 查看已加载的包install.packages(packagenam

25、e) 安装名为packagename的包(2)RStudio中包的管理RStudio中包的管理更加便捷,在Package子窗口中,如下图所示:Package子窗口中列出了全部已安装的包,选中的包为已加载的包(选中没有加载的包即可将其加载)。点击可安装新的包。9. 小结本部分介绍了R及RStudio的安装与运行、R语言的运算符、R语言的基本数据类型(数值,字符,逻辑,空值)、R语言的数据对象(向量,矩阵、列表、数据框)、数据的导入导出、工作空间中数据变量的管理,以及R语言脚本。虽然涉及到数十个函数,但是它们都很容易记忆和使用,而且也并非需要将它们全都记住,仅需熟练使用其中的15个左或即能满足日常80%的应用。学习编程需要特别注意两点:第一,一定要动手实践;第二,不要死记,灵活使用文档、手册,以及最常使用的百度谷歌。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1