在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
第二天任务: 完成项目非均匀骰子,通过实践掌握以下技能: 1)使用R和RStudio的用户界面。 2)创建R对象和运行R命令。 3)学会编写自己的R函数和R脚本。 4)加载并使用R包。 5)生成随机样本。 6)利用ggplot2包快速制图。 7)学会获取帮助。 …………………………………………………… ------------使用R与RStudio的用户界面------------- 想要学会一门编程语言,就要掌握与计算机对话的能力,而RStudio就是对话的话筒,R语言就是对话的语言。对话方式就是在RStudio右下角对话框最后一行键入R代码,回车即可。 命令行中的冒号(:)运算符表示返回两个整数值之间所有整数,它是生成一个数字序列的快捷方法: >100:105 [1]100 101 102 103 104 105 c代表连接,也代表收集或者是合并 >a<-c(1,2,3,4,5) >a ##1 2 3 4 5 如果键入一段不完整的命令就按回车,R会显示一个+提示符,代表R在等你接下来的命令,可以接着键入或按Esc从新键入。 >5- + +1 [1]4 如果该行以#号开头,那么改行之后的内容都会是注释。 如果想临时终止程序运行,可以按Ctrl+c。 -------------创建与运行R命令-------------- 要想创建一个对象,先确定一个名称,然后使用赋值符号(<-)将数据赋给它,若想知道该对象的值,直接输入数据名称,回车即可。 命令行中的冒号(:)运算符表示返回两个整数值之间所有整数,它是生成一个数字序列的快捷方法: 注意: 1.R对象命名不能以数字开头。 2.名中不能出现^,!,$,@,+,-,/,*。 3.R区分大小写。 4.同一个对象被第二次赋值的话,R会自动覆盖增强的信息。 5.ls()命令可以查看已经命名了那些R对象。 6.如果在一个运算中涉及两个或两个以上的向量,R会将这些向量排成一行并执行一系列单独运算。 die*die= |1*1=1 2*2=4 3*3=9 | |4*4=16 5*5=25 6*6=36|=1 4 9 16 25 36. 7.如果两个向量运算时长度不同,R会在较短的向量上重复,直到短向量与长向量长度相同,然后再执行运算。如果长向量不是短向量的整数倍,R会返回一个警告。 8.你可以使用%*%执行内乘法,使用%o%执行外乘法。 ----------------生成随机样本----------------- 要想实现类似随机抽样这样的任务,可以使用R的一些自带函数。比如round函数可以实现数字的四舍五入。factoroal函数可以实现阶乘操纵。mean函数求解平均数。 >mean(die) ##3.5 R中有一个随机函数sample,sample有三个参数x,size,replace,sample的任务就是从队列x中抽取size个数字并返回,而replace则代表sample函数是不是可放回抽样,是为TRUE,不是为FALSE或默认为不可放回。 sample函数还定义了prob参数,代表了队列x中每个相应参数的抽取几率。其和可以不唯1,但是不能出现0。 sample(x=die,size=2,replace=TRUE prob=c(1/8,1/8,1/8,1/8,1/8,3/8)) 或者sample(die,size=2,replace=TRUE prob=c(1/8,1/8,1/8,1/8,1/8,3/8)) ##4 4 ---------------编写R函数和R脚本------------ R中函数的概念类似与C/C++等传统语言,具体做法是调用function()函数,并在其后加入一个大括号{}。 可以选择在圆括号里加入参数,类似于C++函数里的形参列表。 my_function<-function( ){ } 可以写一个模拟骰子函数: roll<-function(){ die<-1:6 dice<-sample(die,size=2,replace=TRUE prob=c(1/8,1/8,1/8,1/8,1/8,3/8)) sum(dice)} roll<-function(bonse){ dice<-sample(bonse,size=2,replace=TRUE) sum(dice) }#在控制台编写该函数时,应该在编写第一行时删除},然后在编写结束后在加上}回车。 R脚本是一个用来保存R代码的纯文本文件,在RStudio中,可以点击File->New File->R Script来创建一个R脚本,建议写的程序都在R脚本中先运行一下。R脚本面板的Run按钮会默认运行鼠标光标所在的那一行代码,或者运行你选中的一整段代码。 ----------------安装与加载R包----------------- 利用install.packages(“ggplot2”)命令使链接上互联网的R下载ggplot2包,下载完成之后还需要library(“ggplot2”)加载该R包。每个R包都只要安装一次,但是在每个新的R会话中都要重新加载R包,因为每次关闭RStudio时都会把R包卸载。 -----------------可视化快速绘图------------------ qplot的以上是快速绘图(quick plot),将两个长度相同的数值向量交给qplot就能绘制出一副散点图。 只要给qplot一个要绘制的向量,qplot就会画出一个直方图,binwidth代表了直方图的宽度。 >x<-c(1,2,2,2,3,3) >qplot(x,binwidth=1) replicate函数提供了快速重复运行一段R代码的命令。 rolls<-replicate(10000,roll()) qplot(rolls,binwidth=0.5) 该项目最终结果: 函数脚本: 控制台命令: 图像结果: -----------------------------注------------------------------- 1.本学习记录来自Garrett Grolemund先生所著《Hands-On Programming with R》(中文名R语言入门与实践)一书。 2. 可以通过键入?和函数名称(或者R包名称)就可以打开该函数(或R包)的帮助页面。 函数帮助页面通常包括函数描述(Description),使用方法(Usage),参数(Arguments),相关细节(Details),返回值(Value),另请参阅(See Also),代码实例(Examples)。如果忘记了函数的确切名称,可以使用??log,R会列出与该关键词有关的超链接,可以将此看作是帮助页面的帮助页面。 |
请发表评论