前言:R语言是从S统计绘图语言演变而来,可看作S的“方言”。1995年,新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,基于 S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开, 这就是R软件,其命令统称为R语言。Currently, the CRAN package repository features 12,649 available packages. The Comprehensive R Archive Network。简称CRAN,由世界几十个镜像网站 组成网络,提供下载安装程序和相应软件包。各镜像更新频率一般为1-2天。
"R语言最大的优点是,它是统计学家写给统计学家用的,它的最大缺点也 是这个 ..." R是开源的,它的生命力很旺盛,我们能想到的几乎所有的基本统计分析, 都能找到相应的包;R语言除基础包外,还有有ggplot2, lattice等诸多专业绘图 包,出图优美,可直接用于发表,所以被广泛用于机器学习,量化投资,生物 信息等领域。但是它的缺点也很明显:R会简单粗暴的将输入的数据一次写入内存,所以 处理超大数据时通常作为测试,验证idea。
help() 与 help.search()
help()可简写为:?[函数名或参数名];
help.search()可简写为:??[函数名或参数名]
R语言基础
1 向量和赋值
x 将向量c(10.4, 5.6, 3.1, 6.4, 21.7)赋值为x;其中c表示concatenate(连接)
当然,也可以右赋值:
c(10.4, 5.6, 3.1, 6.4, 21.7) -> x
2 循环补齐
v 在算术表达式中使用向量,将会对该向量的每一个元素都进行同样算术运算。出现在同一个表达式中的向量最好是长度一致。表达式中短的向量会被循环补齐(可能是部分的元素)以达到最长向量的长度。对于一个常数就是简单的重复。
3.R语言的运算优先级
注:在R表达式中,冒号优先级别最高,因此2*1:15 等价于c(2, 4, ..., 28, 30)
[ [[ | 索引 |
$ | 元素提取 |
- + | 元素的负、正 |
: | 创建数列 |
* / | 乘、除 |
+ - | 加、减 |
== != < > <= >= | 比较运算符 |
! | 逻辑取反 |
& && | 逻辑“与”、短路“与” |
| || | 逻辑“或”、短路“或” |
-> | 向右赋值 |
向左赋值 |
4 索引向量
从向量中获取子向量有三种方式:
逻辑向量。
索引向量必须和被挑选元素的向量长度一致。向量中对应索引向量元素为TRUE的元素将会被选中,而那些对应FALSE 的元素则被忽略。例如:y 将创建(或重建)一个含x 中非缺省且次序不变的元素的对象y 正整数向量。
索引向量必须是{1, 2, . . . , length(x)}的子向量。索引向量中索引对应的元素将会被选中,并且在结果向量中的次序和索引向量中的次序一致。例如:y 选择x 的前10个元素(我们假定length(x) 长度不小于10)
负整数向量。
这种索引向量指定被排除的元素,而不是包括进来
例如:y 将x中除去前五个元素外的其他元素都赋给y。
5 常用的统计函数
max(x) 最大值
min(x) 最小值
range(x) 数值的范围
which.max(x) 最大值下标
which.min(x) 最小值下标
mean(x) 均值
median(x) 中位数
var(x) 方差
sd(x) 标准差
length(x) 长度
sum(x) 总和
6 文件
file.show("file1.txt") #显示文本文件内容, 注意:引号必须要有read.table(), scan(), read.delim(), readLine(), read.csv()这几个导入文件的函数大同小异,通过设定一些参数都可以读入表格文件,其中最常用的是read.table()和read.delim(),这里以read.table()为例讲解:
file | 指定输入的文本文件路径 |
header | 首行是否为表头 |
sep | 文本文件中的 |