在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
第一天: 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将字符串转换为因子型的行为: options(stringAsFactors=FALSE)#关闭 options(stringAsFactors=TRUE)#打开 读取CSV文件: poker<-read.csv(“poker.csv”) 有一种特殊的文件,它的每一行都占用文件的一行,而每一列都开始于固定位置,这种类型的文件被称为固定宽度文件(fixed_width file),.fwf在R中读取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博客: RStudio下的实用R包列表: CRAN归类R包: https://cran.r-project.org/web/views |
请发表评论