R初学者指南学习

第一章:基本原理与概念的学习

1.1对象的产生,排列及删除

1.1.1 函数ls()的功能是显示所有在内存中的对象.显示出在名称中带有某个指定字符的对象,可以利用pattern来实现,简称pat。eg1:ls(pat="m"). 进一步显示显示在名称中以某个字母开头的对象ls(pat="^m") .显示内存中所有的对象的信息ls.str().删除对象利用rm()语句,rm(x,y)表示删除对象x,y.rm(list=ls())删除内存中的所有对象,删除指定的对象rm(list=ls(pat="^m")).R语言中应该用分号来隔开同一行中的不同命令语句。

1.2在线帮助

1.2.1 ?lm和help(lm)和help("lm")一样.查询特殊字符的帮助文档时只能用后者.eg:help("*").查询帮助文档时利用语句help("plot2",try.all.packages=TRUE)在所有的包中查询。查看未加载的包中的帮助文档help("bs",packages="special").使用关键词的搜索在R中可以利用help.search("tree").找出所有名字中含有指定字符串的函数apropos(help)

第二章:R的数据操作

2.1对象.

2.1.1所有的对象都有两个内在的属性:类型和长度。类型包括“字符型”,“数值型”,“逻辑型”,“复数型”。类型用mode()查看。长度用length()查看。缺失的数据用NA(不可用)表述。字符型的值输入时需加上"",需要引用的"的时候,让他跟在反斜杠\的后面。

> x <- "Double quotes \" delimitate R’s strings."

> x

[1] "Double quotes \" delimitate R’s strings."

2.2在文件中读写数据

2.2.1函数read.table创建数据框,读取表格形式数据的主要方法。下表为read.table常用的代码


read.table的参数

函数scan比read.table更加灵活。scan可以指定变量的类型。具体可以help("scan")

函数read.fwf()可以用来读取文件中一些固定宽度格式的数据。

2.3存储数据

2.3.1函数write.table()可以在文件中写入一个对象


write.table()具体的参数


2.3.2数据的保存

如果要记录一组任意数据类型的对象。save(x,y,z,file="xyz.RData").ASCII=TRUE可以在不同的机器之间任意转换。load()可以加载数据。save.image()和save(list=ls(all=TRUE),file=".RData")

2.4生成数据

2.4.1规则序列

> 1:10-1

[1] 0 1 2 3 4 5 6 7 8 9

> 1:(10-1)

[1] 1 2 3 4 5 6 7 8 9

函数seq

seq(1,5,0.5);seq(length=9,from=1,to=5)

函数rep()

rep(1,30)

函数sequence(),创建一系列的整数序列,每个序列都以给定的数值结尾

>sequence(4:5)

[1] 1 2 3 4 1 2 3 4 5

>sequence(c(10,5))

[1] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5

函数gl用来生成不同水平/层次数据十分有用。

> gl(3, 5)

[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3

Levels: 1 2 3

> gl(2, 6, label=c("Male", "Female"))

[1] Male Male Male Male Male Male

[7] Female Female Female Female Female Female

expand.grid()创建一个数据框,参数有所有组合在一起的向量或者因子

2.4.2随机序列

rnorm(n,mean=0,sd=1)高斯分布的数值

rpois(n,lamda)泊松分布


随机序列分布


2.5处理对象


2.5.1创建对象

向量(vector)有两个参数:类型(mode)和长度(length)

因子(factor)

factor(x, levels = sort(unique(x), na.last = TRUE),

labels = levels, exclude = NA, ordered = is.ordered(x))

矩阵(Matrix),实际上是有一个附加属性(维数dim)的向量,byrow=TRUE是按照行填充,可以通过dimnames给行或者是列命名。创建矩阵的另一种方法是给维数适当赋值。dim()<-c()

Dataframe(数据框),数据框中的向量必须有相同的长度,如果有一个较短的话,将循环至相同的长度。

列表(list)可以用list函数创建,方法与创建数据框类似。

时间序列函数ts,函数ts可以由向量(一元时间序列)或者矩阵(多元时间序列)创建ts型对象,可以创建年份表。

表达式是很有意义的字符序列。表达式可以在其他地方用来添加方程式。eval()对创建的表达式进行审核。

2.5.2转换对象

转换遵循一些很直观的规则


对象转换


转换实例

数值型因子转换为一个数值型向量并保持最初的指定的水平值,就必须先转换成字符型然后再转换成数值型。

2.5.3算子(常用的算式)


算子

?Sntax命令得到描述算子之间的优先顺序表,切记S是大写。

identical和all.equal是整体比较函数

2.5.4访问一个对象的数值:下标系统

> x <- 1:5

> x[3]

下标本身也是一个数值型向量:

> x

[1] 1 2 20 4 5

> i <- c(1, 3)

> x[i]

[1] 1 20

i行和j列用[i,j]访问矩阵,还有这三中格式x[i, j, k], x[, , 3], x[, , 3, drop = FALSE],牢记drop的使用规则。

使用负数下标用来不显示一个或一些行或者列x[-c(1,15),]表示不显示第1到第15行

> x <- 1:10

> x[x >= 5] <- 20

> x

[1] 1 2 3 4 20 20 20 20 20 20

> x[x == 1] <- 25

> x

[1] 25 2 3 4 20 20 20 20 20 20

2.5.5访问对象的名称

利用names函数,和对象有相同的长度的向量。

数据框和矩阵利用colnames和rownames分别是列和行的标签。dimnames同时访问行和列的名字。

DF["X"]访问数据框中X变量=DF$X

2.5.6数据编辑器

data.entry(x)打开图形编辑器进行修改

2.5.7数学运算和一些简单的函数

函数c是用来连接列在圆括号中的对象。

不同长度的向量可以相加,这种情况下最短的向量将被循环使用。

> x <- 1:4

> y <- 1:2

> z <- x + y

> z

[1] 2 4 4 6


R语言处理数据的常用函数1


R语言处理数据的常用的函数2


2.5.8矩阵计算

函数rbind()和cbind()分别对矩阵添加行和列

矩阵乘积的算子利用%*%

矩阵和数据框的转置有函数t完成

第三章:用R绘图


3.1.管理绘图


3.1.1打开多个绘图装置

Windows下称为windows,?device可以用来查看绘图装置列表。

3.1.2图形的分割

函数split.screen(c(1,2))分割当前的绘图装置

主要是layout的运用.?layout()查看帮助文档

3.2绘图函数

add=FALSE 如果是TRUE,叠加图形与前一个图

axes=TRUE 如果是FALSE,不绘制轴与边框

type="p"指定图形的类型,"p":点,"l":线,"b":是点连线,"o":线在点上

xlim=,ylim= 指定轴的上下限

xlab=,ylab= 轴的注释,必须是可变的字符模式

main= 主标题,必须是可变的字符模式

sub= 子标题(用小字体)

3.3低水平绘图命令

R里面的作用于现存的图形上的:称为低水平的作图命令

mtext(text,side=3,line=0),在页边空白用text添加文字,用side来表示位置,side=1底端,side=2左边,side=3顶端,side=4在右边添加


低水平绘图命令


3.4绘图参数

绘图参数的查询可以用?par来查询。R语言中查看颜色的列表的函数colors()


常用的绘图参数

主要是tcl和tck函数的使用,以及col和bg的区别,las函数的使用

3.6 grid和lattice包的使用

grid和lattice包实现网格和格子系统。

第四章:R的统计分析

stats包包括了一些列基本的统计分析函数。

4.1关于方差分析的一个简单例子    

在stats包中方差分析函数是aov.函数aov的主要参数是一个公式,公式左边是响应变量,右边是预测变量,二者通过~连接。

函数print可以对结果进行一个简单的分析。函数summary可以显示更多的细节。并且可以通过plot()和termplot()展示分析结果的统计图。

opar<-par()

par(mfcol=c(2,2)

可以将作图结果展示为2行2列,类似于layout()

4.2公式

公式的典型形式是y~model,其中y是响应变量,model是一些元素项的集合而且其中有些参数就是将要被估计的


y~model的常见公式


4.3泛型函数

我们用来解析结果的函数对特定的类对象有特定的行为,这些函数被称为泛型。

最常用的解析统计分析结果的R函数是summary.

查看函数返回对象的结构可以用eg:str(aov.spary,max.level=-1)

另外一种查看对象的结构的方法是现实对象各个元素的名字:

names(aov.spary)

4.4包

一个包中可以使用的函数可以通过下面的方式显示:

library(help=grid)

在windows系统中,程序Rgui.exe有一个"packages"菜单,它允许通过网络或者本地的压缩文件直接安装

第五章:R编程实践


5.1循环和向量化

有多个‘apply’形式的函数用于避免使用代码的显示循环结构。apply作用于矩阵的行或者和列。apply(x,MARGIN,FUN,...)。

lapply()可以用于一个列表的对象:语法类似apply并且返回一个列表的对象

5.2用R写程序

for循环或者是while等其他循环

5.3编写自己的函数

大多数R的工作是通过函数实现的,编写自己的函数可以更有效的、灵活的和合理的使用R。

如果希望一些函数在R启动时就被载入,可以把他们的保存在工作目录下面的文件.RData中。(详见?Startup for details)

在R里面没有必要在一个函数里面对变量声明.

> foo <- function() print(x)

> x <- 1

> foo()

[1] 1

第六章:R相关的文献

手册。在目录R_HOME/doc/manual/下面有几份R安装时分发的手册:

• R导论 [R-intro.pdf],

• R 安装和管理 [R-admin.pdf],

• R 数据导入/导出 [R-data.pdf],

• 编写R扩展 [R-exts.pdf],

• R 语言定义 [R-lang.pdf].

在文件夹中还有一个FAQ的文档,记录的是常见的问题集

http://cran.r-project.org/doc/FAQ/R-FAQ.html


本学习主要参考简单做的学习笔记:

R Development Core Team (2005). R: A language and environmentfor statistical computing. R Foundation for StatisticalComputing, Vienna, Austria. ISBN 3-900051-07-0, URL:http://www.R-project.org.

你可能感兴趣的:(R初学者指南学习)