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

第二天任务:

完成项目非均匀骰子,通过实践掌握以下技能:

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会列出与该关键词有关的超链接,可以将此看作是帮助页面的帮助页面。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值