R语言的特点
- 有效的数据处理和保存机制
- 完整的数组和矩阵计算操作符
- 连贯而又完整的数据分析工具
- 图形工具直接对数据进行分析和展示
- 简介而又高效的程序设计软件
- R是一个内部实现了许多经典的、时髦 的统计技术的语言环境
- 部分统计功能整合在R环境的底层,大多数的统计功能则以包(packages)的形式提供
-
- 实现某些特定功能/算法(比较新颖)
- 程序包包含函数、数据、帮助文件以及描述文件
- R和其他主要的统计系统存在重要的差异
-
- R一次统计分析被分解成了一系列步骤,并且所有的中间结果都被保存在了对象
(object)中
- R一次统计分析被分解成了一系列步骤,并且所有的中间结果都被保存在了对象
R备受青睐的原因
- 免费!!拥有丰富的扩展包,囊括了经济学,生态学,地理学,生物信息学,生物统计学和社会心理学等诸多学科
- 多平台,如Windows,MacOS和Linux等
- 它是彻底的面向对象的统计编程语言
- R与其他编程语言/数据库之间有很好的接口
- 其他:更新更加迅速,优秀的制图功能,DIY,GUI
R的官方网站
->R官网
R语言的基本规则
- 基本命令
-
- 表达式(expressions)、赋值(assignments)
- 如果是表达式,解析(evaluate)后,结果显示在屏幕上,同时清空该命令所占用的内存
-
-
-
1+2
- [1] 3
-
-
- 如果是赋值,解析表达式并且把值传给变量,但结果不会自动显示在屏幕上
-
-
x<-8
- 这里就是给x赋值8
-
- 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("外部文件") #把所有输出结果从控制台重新定向到外部文件当中
- 让输出流重新定向到控制台
-
- sink()
使用帮助
-
为了得到任何特定名字的函数的帮助,如solve,可以使用如下命令。在大多数R平台中,你可以通过运行下面的命令得到HTML格式的帮助
-
help(solve)
-
?solve
-
对于有特殊含义的字符,可以采用逃逸符号:双引号或者单引号(一般适用于有语法含义的关键字和有特殊含义的字符,如if,for,function等)
-
help("[[")
-
?"*"
-
help.start()
保存,删除对象
- R创建控制的实体称为对象
-
- 向量
- 矩阵
- 数组
- 数据框
- 列表
- 因子
- 函数
- 通过以上实体定义的更为一般性的结构
- 罗列所有对象
-
-
ls()
-
objects()
-
- 删除对象x,y,z
-
- rm(x,y,z)
- 删除所有对象
-
-
rm(list=ls())
-
- 当前会话中的所有对象可以永久得保存在文件中,以便于以后的后续调用
-
- 所有对象写入到.RData文件中
- 所有命令保存在.Rhistory文件中
- 当R再次启动时,可以导入对象和命令
- 将对象x保存到硬盘
-
-
save(x,file="yourname")
-
- 将当前空间下所有对象保存到硬盘
-
-
save.image(file="yourname") #在这之前要重新设置工作目录,即用setwd(D:/...)
-
- 载入保存的镜像
-
- load(file="yourname")
R包
- 包是R函数,数据,预编译代码组成的实现某一功能的集合
- 库(library):存储R包的目录
-
- 查看库中已经有的R包:library()
- 安装包
-
-
install.packages("gclus") #CRAN镜像网络下载
-
- 载入包
-
-
library(gclus) #库中存在该包才能载入;载入之后可以使用包中的函数或者数据集
-
- GUI下安装包
- 在官方网站中可以找各种包,可以按照类型来找,也可以按照日期来找,也可以直接搜。
-
- 也有源码包,是压缩文件形式的,需要编译
- 也有Windows下的zip形式的文件,下载很快,可以直接在R中library使用。
-
-
- 打开insatll package窗口
-
基本运算
- 算术运算
-
- 加减乘除 幂^
- 数学函数: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语