美文网首页
R初学者指南学习

R初学者指南学习

作者: 超人快飞 | 来源:发表于2020-03-26 14:51 被阅读0次

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

    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初学者指南学习

          本文链接:https://www.haomeiwen.com/subject/ziaiyhtx.html