- 有效的数据处理和保存机制
- 完整的数组和矩阵计算操作符
- 连贯而又完整的数据分析工具
- 图形工具直接对数据进行分析和展示
- 简介而又高效的程序设计软件
- R是一个内部实现了许多经典的、时髦 的统计技术的语言环境
- 部分统计功能整合在R环境的底层,大多数的统计功能则以包(packages)的形式提供
- 实现某些特定功能/算法(比较新颖)
- 程序包包含函数、数据、帮助文件以及描述文件
- R和其他主要的统计系统存在重要的差异
- R一次统计分析被分解成了一系列步骤,并且所有的中间结果都被保存在了对象
(object)中
R备受青睐的原因
- 免费!!拥有丰富的扩展包,囊括了经济学,生态学,地理学,生物信息学,生物统计学和社会心理学等诸多学科
- 多平台,如Windows,MacOS和Linux等
- 它是彻底的面向对象的统计编程语言
- R与其他编程语言/数据库之间有很好的接口
- 其他:更新更加迅速,优秀的制图功能,DIY,GUI
R的官方网站
R语言的基本规则
- 基本命令
- 表达式(expressions)、赋值(assignments)
- 如果是表达式,解析(evaluate)后,结果显示在屏幕上,同时清空该命令所占用的内存
- 如果是赋值,解析表达式并且把值传给变量,但结果不会自动显示在屏幕上
- R对象的命名只能是数字、字母、“.”“_”
- R中字母区分大小写
-
Y<-8
-
y<-6
-
Y == y
- [1] FALSE
- 必须以“.”或者字母开头
-
.s<-1
-
.1<-1
- 错误0 .1 <- :(do_set)赋值公式左手不对
- 命令可以被;隔开,或者另起一行,“#”进行语句的注释
- 通过大括弧"{}"将基本命令放在一起构成一个复合表达式
system.time(
{
sum<-0
for (i in c(1:1000)){
sum<-sum+i;print(i)
}
print(sum)
}
)
- R每次启动的时候,对应安装软件时默认的工作目录。当数据存储在其他文件夹时,可以进行设定。之后的任何数据读取和保存都在设定的工作目录下进行
- 设定工作目录
> setwd("D:\\GREMMIE")
> setwd("D:/GREMMIE")
getwd():得到工作目录
source(“1.R”):运行1.R的文件。
也可以把所有输出结果从控制台重新定向到外部文件中
> sink(“外部文件”) #把所有输出结果从控制台重新定向到外部文件当中
使用帮助
-
为了得到任何特定名字的函数的帮助,如solve,可以使用如下命令。在大多数R平台中,你可以通过运行下面的命令得到HTML格式的帮助
-
help(solve)
-
?solve
-
对于有特殊含义的字符,可以采用逃逸符号:双引号或者单引号(一般适用于有语法含义的关键字和有特殊含义的字符,如if,for,function等)
-
help(“[[”)
-
?“*”
-
help.start()
保存,删除对象
- R创建控制的实体称为对象
- 向量
- 矩阵
- 数组
- 数据框
- 列表
- 因子
- 函数
- 通过以上实体定义的更为一般性的结构
- 罗列所有对象
- 删除对象x,y,z
- 删除所有对象
- 当前会话中的所有对象可以永久得保存在文件中,以便于以后的后续调用
- 所有对象写入到.RData文件中
- 所有命令保存在.Rhistory文件中
- 当R再次启动时,可以导入对象和命令
- 将对象x保存到硬盘
- 将当前空间下所有对象保存到硬盘
-
** save.image**(file=“yourname”) #在这之前要重新设置工作目录,即用setwd(D:/…)
- 载入保存的镜像
R包
- 包是R函数,数据,预编译代码组成的实现某一功能的集合
- 库(library):存储R包的目录
- 安装包
-
install.packages(“gclus”) #CRAN镜像网络下载
- 载入包
-
library(gclus) #库中存在该包才能载入;载入之后可以使用包中的函数或者数据集
- GUI下安装包
- 在官方网站中可以找各种包,可以按照类型来找,也可以按照日期来找,也可以直接搜。
- 也有源码包,是压缩文件形式的,需要编译
- 也有Windows下的zip形式的文件,下载很快,可以直接在R中library使用。
基本运算
- 算术运算
- 加减乘除 幂^
- 数学函数:sqrt() log() log10() exp() abs() sin() cos() tan()
- 关系运算
- 逻辑运算
- 1+(2>1)结果为2,因为关系运算得出的结果TRUE为1,FALSE为0
- 2+3 | !(3>5)结果为TRUE,因为2+3是5,不为0,所以为TRUE。
- 对于&来说,如果左边是FALSE的话,就不会再去判断右边的内容,表达式的值直接就是FALSE
变量赋值
最新版的R语言赋值可以使用左箭头<- 等号= 右箭头->赋值
> var.1 = c(0,1,2,3)
> print(var.1)
[1] 0 1 2 3
略
> c(TRUE,1) -> var.3
> print(var.3)
[1] 1 1
查看已定义的变量可以使用ls()函数
> print(ls())
[1] "var.1" "var.2" "var.3"
删除变量可以使用rm()函数
> rm(var.3)
> print(ls())
[1] "var.1" "var.2"
交互式编程
我们只需要在命令行中执行R命令就可以进入交互式的编程窗口
R
执行完这个命令后会调出R语言的解释器,我们在>符号后面输入代码即可
交互式命令可以通过q()来退出