一、软件下载
| 软件:R语言 | 版本:4.3.0 | ||
| 语言:简体中文 | 大小:77.74M | ||
| 安装环境:Win7及以上版本,64位操作系统 | |||
| 硬件要求:CPU@2.0GHz 内存@4G(或更高) | |||
| 下载通道①百度网盘丨64位下载链接: https://pan.baidu.com/s/1RuQKDCdhNrTTPVmkFmRBkQ?pwd=6789 提取码:6789 | |||
软件介绍 R for Windows是一个免费的用于统计计算和统计制图的优秀工具,是R语言开发工具。它拥有数据存储和处理系统、数组运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图等功能。提供的图形界面,可以在其中访问控制台、创建脚本或安装其他软件包。二、特点R语言是用于统计分析,图形表示和报告的编程语言和软件环境。 以下是R语言的重要特点:
三、安装3.1安装R官网:R: The R Project for Statistical Computing 3.2安装RstudioRGUI是R 默认的图形化界面,功能不多且图形界面比较简陋,使用起来不是很友好,所以这时就需要一款集成开发环境——studio软件,使用Rstudio可以更加容易的使用R软件,Rstudio是第三方开发的很好用的集成开发环境,也是一款免费的软件,相比较与R默认的RGUI,Rstudio具有更丰富的功能,使用时更加人性化,例如,软件将R控制台,控制窗口,帮助窗口集成到同一个界面下,并且支持代码高亮,自动补齐,可以补齐对象名,函数名等,非常的方便,避免输入的错误。 官网:RStudio | Open source & professional software for data science teams - RStudio 3.3linux安装R
【如果报错请按一下方法解决】提示错误:
查看版本:R --version 3.4在线安装
3.5卸载
3.6修改Rstudio工作目录默认的为: 修改: 1.找到R的安装路径 在第一行添加: 重新进入Rstudio: 四、基础知识4.1数据类型R语言基本的数据类型有:数值、逻辑型(TRUE,FALSE)、文本(字符串)。 R语言数据结构包括:向量、矩阵和数据框、多维数组、列表、对象等。 最基本的是向量类型。 4.2数值型向量及其运算4.2.1数值型向量向量是将若干个基础类型相同的值存储在一起,各个元素可以按序号访问。如果将若干个数值存储在一起可以用序号访问,就叫做一个数值型向量。
4.2.2运算**标量与标量运算:**R中四则运算用+ - * / ^(加、减、乘、除、乘方)%/%表示整除,%%表示求余。 向量与标量运算 、等长向量运算、不等长向量运算 4.3向量化的相关函数R中的函数一般都是向量化的。 **一元函数:**在R中,如果普通的一元函数以向量为自变量,一般会对每个元素计算。这样的函数包括sqrt,log10,log,exp,sin,cos,tan等许多。 排序函数:sort(x)返回排序结果。rev(x)返回把各元素排列次序反转后的结果。order(x)返回排序用的下标。 统计函数:sum(求和),mean(求平均值) ,var(求样本方差),sd(求样本标准差),min(求最小值),max(求最大值),range(求最小值和最大值)等函数称为统计函数,把输入向量看作样本,计算样本统计量。prod求所有元素的乘积。comsum和cumprod计算累加和累乘积。 生成规则序列的函数: seq函数时冒号运算符的推广。比如,seq(5)等同于1:5,seq(11,15,by=2)产生11,13,15 4.3逻辑型向量及其运算4.3.1比较运算is.na()函数:判断向量每个元素是否NA。is.na(c(1,NA,3)>2) is.finite()函数:判断向量每个元素是否Inf值,比较运算符包括 < <= > >= == != %in% 注:%in%是比较特殊的比较, x %in% y的运算把向量y看成集合,运算结果是一个逻辑型向量。
函数match(x,y)起到和x %in% y 运算类似的作用,但是其返回结果不是找到与否,而是对x的每个元素,找到其在y中首次出现的下标,找不到时取缺失值,如:
4.3.2逻辑运算逻辑运算符为&,|和!,分别表示“同时成立”、“两者至少其一成立”、“条件的反面” 4.3.3逻辑运算函数若c是逻辑向量,用**all(c)测试c的所有元素为真;用any(c)**测试c至少一个元素为真
函数**which()**返回真值对应的所有下标。如:
函数**identical(x,y)**比较两个R对象x和y的内容是否完全相同,结果只会取标量TRUE与FALSE两种。如:
函数**duplicated()**返回每个元素是否为重复值的结果,如:
用函数**unique()**可以返回去掉重复值的结果。 4.4字符型数据及其处理4.4.1字符型向量字符型向量是元素为字符串的向量 4.4.2常用函数**paste():**连接两个字符型向量,元素一一对应连接,默认用空格连接。如paste(c(“ab”,“cd”),c(“ef”,“gh”))结果相当于c(“ab ef”,“cd gh”),其中:sep= 指定分隔符,用collapse= 参数可以把字符型向量的各个元素连接成一个单一的字符串。如paste(c(“a”,“b”,“c”),collapse="")结果相当于“abc” toupper():把字符型向量内容转为大写 tolower():把字符型向量转为小写 nchar(x,type=‘bytes’):计算字符型向量x中每个字符串的以字节为单位的长度。 nchar(x,type=‘chars’):计算字符型向量x中每个字符串的以字符个数为单位的长度。 substr(x,start,stop):从字符串x中取出从第start个到第stop个的子串 substring(x,start):从字符串x中取出从第start个到末尾的子串
4.5类型转化as.numeric():把内容是数字的字符型值转换为数值。 as.numeric():是向量化的,可以转换一个向量的每个元素为数值型。 as.character():把数值型转换为字符型 sprintf():用指定的格式数值型转换为字符型,其用法与C语言的sprintf()函数相似,只不过是向量化的。
strsplit():把一个字符串按照某种分隔符拆分开
gsub():替换字符串中的子串,这样的功能经常用在数据清理中。比如,把数据中的中文标点改为英文标点,去掉空格等等。
4.6向量下标和子集4.6.1正整数下标从1开始 x[0]是一种少见的做法,结果返回类型相同、长度为零的向量,如numeric(0)。相当于空集。 4.6.2负整数下标负下标表示扣除相应的元素后的子集 4.6.3空下标和零下标取x的全部元素作为子集。 4.7条件函数which():用来找到满足条件的下标 which.min()、which.max()求最小值的下标和最大值的下标,不唯一时只取第一个 4.8元素名用unname(x)返回去掉了元素名的x的副本 4.9集合元素unique(x):可以获得x的所有不同值 a %in% x :判断a的每个元素是否属于向量x match(x,table):对向量x的每个元素,从向量table中查找其首次出现位置并返回这些位置。没有匹配到的元素位置返回NA_integer_ intersect(x,y):求交集,结果中不含重复元素 union(x,y):求并集,结果中不含重复元素 setdiff(x,y):求差集,即x的元素中不属于y的元素组成的集合,结果中不含重复元素 setequal(x,y):判断两个集合是否相等 4.10数据类型的性质4.10.1基本类型typeof():返回一个变量或表达式的类型
注意:因子的结果是integer而不是因子
4.10.2类型转换四则运算中数值会被统一转换为double类型,逻辑运算中运算元素会被统一转换为logical类型。 在用c()函数合并若干元素时,如果元素基本类型不同,将统一转换成最复杂的一个,复杂程度从简单到复杂依次为:logical < integer < double < character 4.11因子类型4.11.1因子用factor()函数把字符型向量转换成因子 4.11.2 table()函数用table()函数统计因子各水平的出现次数(称为频数或频率)。也可以对一般的向量统计每个不同元素的出现个数。 4.12列表类型4.12.1列表R中列表(list)类型来保存不同类型的数据。一个主要目的是提供R分析结果输出包装:输出一个变量,这个变量包括回归系数、预测值、残差、检验结果等等一系列不能放到规则形状数据结构中的内容。实际上,数据框也是列表的一种,但是数据框要求各列等长,而列表不要求。列表可以有多个元素,但是与向量不同的是,列表的不同元素的类型可以不同,比如,一个元素是字符串,一个元素是标量,一个元素是另一个列表。 用typeof()函数判断一个列表,返回结果是list。可以用is.list()函数判断某个对象是否列表类型 如果是创建的元素为数值类型,可: 4.12.2列表元素访问4.12.3列表类型转换用as.list()把一个其它类型的对象转换成列表;用unlist()函数把列表转换成基本向量。 4.13R矩阵和数组4.13.1R矩阵矩阵用matrix函数定义,实际存储成一个向量,根据保存的行数和列数对应到矩阵的元素,存储次序为按列存储。 4.13.2矩阵子集colnames()函数可以给矩阵每列命名 4.13.3行列向量转换若x是向量,cbind(x)把x变成列向量,rbind(x)把x变成行向量 4.13.4apply()函数apply(A,2,FUN)把矩阵A的每一列分别输入到函数FUN中,得到对应于每一列的结果,如:
4.14数据库函数data.frame()可以生成数据框。
data.frame()函数会将字符型列转换成因子,加选项stringsAsFactors=FALSE可以避免这样的转换。 4.15R语言中的索引“[“, $和@都可以根据索引取值,但是它们使用范围不一样。 4.15.1 "["
参数介绍:
4.15.2 $和[[]]的用法[[]]也是根据索引或者名称取值,和使用的对象一样,X\[\[‘a’,exact=FALSE\]\]和Xa是等价的。 $采用模糊配合的模式从对象中取值
注意从大数据的计算效率来看,[[]]的运算效率更高 4.15.3 @的用法@是针对S4对象进行取值的。 | |||