第一章:基本原理与概念的学习
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.
网友评论