• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

《R语言入门与实践》学习笔记一

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

第一天:

1.在windows环境下下载和安装R和RStudio。

2.简单了解R包与R命令。

3.学会利用命令进行文件操纵。

4.学会简单的调试代码。

………………………………………………………………………………………

---------------------安装-----------------------

R包的维护工作由一个国际化可开发者团队负责,下载页面叫做The ComprehensiveR Archive Network,即CRAN(https://cran.r-project.org)。页面顶部有三个下载链接,分别对应:Windows,Mac和Linux。下载步骤为Download R for Windowsbase,然后打开新页面中单击顶端的第一个链接(类似于Download R for 3.0.3 for Windows),下载后安装程序即可。

RStudio是类似于word的R语言编写帮助工具,可以从网址http://www.rstudio.com/ide(需要 F-Q )免费下载RStudio,只要单击Download RStudio即可。RStudio安装上之后需要选择已安装的R包。

----------------------R包与R命令-----------------------

  R包的概念类似于C/C++中的库(library),一个R包就是一些有用的函数,帮助文档和数据集的集合。最常见的R包就是R基础包(BaseR),就是每次打开R之后,R默认加载的所有函数。这些函数构成了R的基石,是不需要加载任何R包就可以使用的。

要想使用其他的每个R包,必须先在计算机上安装R包,然后在当前R会话中加载它。安装R包最简单的方法是利用install.packages函数。打开R,在命令行键入一下命令进行下载和安装:

install.packages(包名称)#安装单个包

install.package(c(“ggplot2”,”reshape2”,”dplyr”))#安装多个包

然后输入以下命令加载R包:

library(包名称)

library的作用是在当前的R会话被关闭之前,该包中所有的函数,数据集和帮助文档都可以被拿来使用,在下一个会话中,虽然不必再安装该包,但是需要重新加载。想要查看当前R库中存储了那些R包,可以运行以下命令:

library()

更新R包:

updata.packages(“包名称”)

R自带了很多数据集,被储存在R基础包的datasets包中,输入以下指令查看每个数据集以及数据集简介:

help(ackage=“datasets”)

---------------------------文件操纵----------------------------

了解计算机上R的工作目录及位置:

  getwd()

将某个文件夹设置位工作目录:

  getwd(绝对地址或相对地址)

查看当前工作目录下所有文件:

  list.files()

如果想要打开一个纯文本文件,可以使用read.table函数,其中第一个参数应该为代取文件名称(文件在工作目录中)或者代取文件的路径,第二个参数sep告诉read.table需要使用什么分隔符,如果未设置sep,则read.table函数会默认空格为分隔符,第三个参数header告诉函数是否将第一行作为变量名称而不是值如果是变量名称,则header=TRUE,第四个参数代表使用什么表示缺失信息:

  poker<-read.table(“poker.csv”,sep=”,”,header=TRUE,na.strings=”.”)

使用skip告诉R在读取数据时忽略开头的一些行,nrow告诉R在读多少个数据行之后不再读取。

 read.table(“poker.csv”,sep=”,”,header=TRUE,na.strings=”.”,skip=3,nrow=5)

只要将参数stringAsFactors设置为FALSE即可确保R在保存字符串数据时,不会强制将其转换为因子型,而是保留它的字符串类型。

更改全局设置来改变R将字符串转换为因子型的行为:

  optionsstringAsFactors=FALSE)#关闭

  optionsstringAsFactors=TRUE)#打开

读取CSV文件:

  poker<-read.csv(“poker.csv”)

有一种特殊的文件,它的每一行都占用文件的一行,而每一列都开始于固定位置,这种类型的文件被称为固定宽度文件(fixed_width file,.fwfR中读取fwf文件比普通文件多出一个widths参数,用来表示得是第i个元素表示第i个列的宽度:

poker<-read.fwf(“poker.fwf”,widths=c(10,7,6),header=TRUE)

打开网络文件:

poker<-read.csv(“http://.../../poker.csv”)

保存纯文本文件,第一个参数为要储存的R对象,第二个参数代表文件名或者绝对路径,row.names防止R在存储纯文本文档时将行名称存储为一列,即防止为每行加上行号(write函数无法创建新的文件夹)

write.csv(poker,”data/poker.csv”,row.names=FALSE)

压缩文件:

write.csv(poker,file=bzfile(data/poker.csv.bz2),row.names=FALSE)

R自带的三个用来压缩文件的辅助函数:

函数名 压缩文件类型

bzfile bzip2

gzfile gnu zip(zip)

xzfile xz压缩

R的read函数可打开任何一种压缩文本文件。

R本身提供了两种文件格式,分别是.RDS和.RData,RDS可以存储单个R对象,而RData文件可以存储多个R对象,但是.RDS的可再现性好:

打开.RDS文件:

saveRDS(a,file=stuff.RDS)

打开.RData文件:

load(file.RData)

保存RData文件:

save(a,b,c,file=文件名或路径)

保存.RDS文件

saveRDS(a,file=stuff.RDS)

将剪贴板中的数据读入R中:

read.table(clipboard)

-------------------------调试--------------------------

RStudio中完善了对错误代码的调试,其中主要包括traceback(追溯),browser(浏览),debug(调试),debugonce,trace(追踪),recover(恢复)。

E1 traceback

在命令行键入traceback(),traceback会反回一个调用栈,也就是被调用函数的有序列表,最顶层就是出错的函数,而且traceback显示了函数调用的整个调用顺序,揭示了无限循环错误。

E2 browser

利用browser函数可以使得R在运行时暂停,使你键入新的命令。要使用browser函数,只要将browser()添加到函数体的对应位置,然后保存改函数即可。此时控制台出现三个按钮:NEXT(执行下一行代码)Continue(继续执行直到结束) Stop(立即停止运行)。

E3 断点

断点就是可视化的添加browser函数,打开R脚本,找到想要添加browser的行,右键鼠标就会出现一个空心红点,断点添加成功。

E4 debug

debug函数的第一步就是在调试函数的第一行加入browser(),它的使用方法是debug(函数名),解除方法是undebug(函数名),利用isdebugged(函数名)判断函数是否处于调试状态。

E5 trace

trace函数将一个函数插入其他函数的任意位置,第一个参数表示带插入函数的名称,是一个字符串。第二个参数代表要插入函数的R表达式。第三个参数at=代表将表达式插入函数第几行。

trace(sample,browser,at=4)

在对某个函数完成trace调试之后,可以使用untrace将函数恢复原来状态:

  untrace(sample)

E6 recover

recover提供的代码调试方式可以进入调用栈的任意层级,从而进入某函数运行时环境进行调试,输入对应栈编码进入函数环境,输入0推出调试:

  fifth<-function()recover()

运行全局选项,R会在每次报错时进入recover()命令:

  options(error=recover)

直到关闭当前R会话或者执行以下命令前都有效:

  options(error=NULL)

------------------------------------------------------------

1.本学习记录来自Garrett Grolemund先生所著《Hands-On Programming with R》(中文名R语言入门与实践)一书。

2.R包为R语言环境,需要第一个安装。

3.R包既有32位也有64位版本,两个版本都使用32位整数,它们计算时具有相同的精度,二者的区别在于内存管理方面分别使用了64位指针和32位指针,这代表这64位有更大的使用和搜索的内存空间。从经验上看32位要更快。

4.R包可以选择中文版本,但是RStudio输入中文会出现乱码。

5.许多R包并没有在CRAN上托管,如果想要安装这些R包,可以借助devtools这样一个R包。这个包提供了install_github,install_gitorious,install_bitbucket和install_url等函数来从其他安装源安装R包。

6.常用网址:

R包邮件列表:

https://stat.ethz.ch/mailman/listinfo/r-packages

R-bloggers博客:

http://www.r-bloggers.com

RStudio下的实用R包列表:

http://support.rstudio.com

CRAN归类R包:

https://cran.r-project.org/web/views


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言与概率统计(一)描述性统计分析发布时间:2022-07-18
下一篇:
R语言和 Python —— 一个错误的分裂发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap