
本章概述了R编程的基本技能. 学习后,您可以立即开始编写R程序. 本章将模拟一对骰子,并使用该对骰子生成随机数. 如果您以前没有编程经验,请不要担心. 本章介绍R编程的所有基本技能. 要模拟一对骰子,必须提取每个骰子的特征. 您要做的不是用螺丝刀拧开螺丝,然后在计算机内部放置物理物体(例如骰子),而是将骰子的特征信息保存在计算机内存中. 那么,什么信息应该保留在骰子上?大致来说,骰子具有六个方面的信息: 掷骰子时,您只会从1到6获得一个数字. 您只需要将六个数字1、2、3、4、5、6保存为一组值在计算机内存中,您可以捕获骰子的基本特征. 现在让我们先保存这六个数字,然后考虑如何模拟“投掷”动作. 1.1R用户界面在让计算机保存这些号码之前,您需要了解如何与计算机通话. R和RStudio只是与计算机对话的两个工具. 严格来说,RStudio是麦克风,R是用于交流的语言. 现在打开RStudio. 打开其他程序的方式相同. 只需双击程序图标. 打开后,屏幕上将出现一个类似于图1-1的窗口.



如果您的计算机上尚未安装R和RStudio,或者您不明白我在说什么,请先阅读附录A. 本附录简要介绍了这两个免费工具,并提供了下载和安装它们的方法. RStudio的用户界面非常简单. 要运行R程序,只需在RStudio控制台面板的底行中键入R代码,然后按Enter. 键入的代码通常称为命令,因为它命令计算机按照指示完成任务. 键入代码的行称为命令行. 当您在控制台提示符下键入命令并按Enter时,计算机将执行该命令并显示结果. 程序结束后,RStudio将自动换行并显示一个新的提示,等待您键入下一个命令. 例如,当您键入1 + 1并按Enter键时,RStudio将显示以下结果. > 1 + 1 [1] 2>程序的运行结果为2,但是您应该在2之前注意到[1]. R这样做是为了提醒您2是输出中的第一个值. 一些命令将返回多个值. R可能需要显示在多行中,并且括号中的数字用于指示整个返回结果中每行起始值的序列号. 例如,如果您键入的命令是100: 130,则R将返回31个值,因为该命令会生成100到130之间的所有整数.

第二行的起始标记为[14],表示第二行的第一个值是所有返回值的第14个值;第三行的起始标记是[27],代表第三行. 在所有返回的值中r语言输入命令后按回车,该行的第一个值的数目是27. 方括号中的值基本上可以忽略. > 100: 130①[1] 100101102103104105106107108109109110111112 [14] 113114115116117118119119121121123123124125 [27]126127128129130①命令行上的冒号运算符(:)表示返回两个整数值之间的所有整数,这是生成数字序列的快捷方法. R不是语言吗?您可能会认为我给R打电话的方式更像是打电话给某人,例如,我会说“让R做这件事”或“让R做那件事”. 当然,R不能真正做到这些事情,它只是一种语言. 刚才的语句只是简化的命令描述. 完整的语句应为: “使用R语言在RStudio控制台中编写命令,并让计算机执行该命令. ”实际执行此任务的是计算机,而不是R. . 这样的简化描述会使人感到困惑,并使我们显得懒惰?那就对了!但是有很这样描述吗?据我所知,基本上每个人都这样描述R,因为它省去了很多麻烦.

何时编译?在某些编程语言(例如C,Java和Fortran)中,要使程序运行,您需要将编写的人类可读程序编译为机器可以理解的语言(大多数由1和0组成). . 如果您使用这种语言进行编程,那么此时您可能会遇到这样的问题: 在运行它之前r语言输入命令后按回车,我需要编译我编写的R代码吗?答案是不. R是一种动态编程语言,这意味着当您运行R代码时,R将自动执行编译操作. 如果键入不完整的命令并按Enter,R将显示+提示,表明R正在等待您键入下一个命令. 您可以选择键入其余命令或按Esc键重新键入. > 5-++ 1 [1] 4如果键入R无法识别的命令,R将返回错误消息. 当R报告错误时,您不必惊慌,因为它只是告诉您计算机无法理解或执行您键入的命令. 您可以尝试在下一个提示符后键入另一个命令,如下所示. > 3%5Error: “ 3%5”>中意外输入当您熟悉R的命令行时,您会发现它是一个非常有用的计算器. 例如,您可以在命令行上执行基本的算术运算. 2 * 3 ## 64-1 ## 36 /(4-1)## 2您是否注意到上述代码有异常之处?我已经省略了诸如>和[1]之类的符号,以便每个人都可以将这些代码复制并粘贴到自己的R控制台中并直接运行它们.
在R中,字符#是特殊字符. 如果一行以#开头,则该行之后的所有内容都不会作为R命令运行. 换句话说,我们可以在#之后添加与程序相关的注释和注释. 计算机在执行R代码时会忽略以#开头的这些命令行,但它们有助于提高程序本身的可读性. 在R中,#称为注释符号. 在本书的其余部分中,我将使用#标记R的输出. 一个#代表我添加的程序注释,两个#代表该程序的执行结果. 除非我希望您看到它们,否则我将尽量避免在本书的程序结果中出现>提示符和类似[1]的行标记. 取消命令某些R程序可能需要很长时间才能完成运行. 如果要暂时停止程序,可以键入ctrl + c. 但是,应注意,挂起操作可能需要很长时间. 该练习仅显示了在RStudio中运行R程序的基本界面. 大概您对它的操作有基本的了解. 您可以使用以下简单练习来检查您是否真正掌握了此基本界面. 如果下面的每个步骤均正确无误,则最终结果应与您首先输入的数字完全相同. (1)随机选择一个数字并加2. (2)乘以3. (3)再减去6. (4)最后除以3.
在本书中,所有练习题都将放在上面显示的框中. 对于每个练习,答案将在稍后给出. 以下是上述问题的答案. 假设您选择的数字是10,则每个步骤的结果应如下所示. 10 + 2 ## 1212 * 3 ## 3636-6 ## 3030/3 ## 10现在,您知道如何使用R的基本接口,让我们一起制作一个虚拟骰子. 如前所述: 运算符可以方便地用于生成一组1到6的整数. : 运算符的返回值是一个向量,即一维数组. 1: 6 ## 1 2 3 4 5 6这六个数字是骰子中包含的所有信息!但是工作尚未完成,因为以1: 6运行仅生成了我们可以看到的数字字符串,并且没有将数字字符串保存在计算机的内存中. 我们现在看到的六个数字实际上等于它们在显示器上留下的足迹,并且它们已经短暂存在. 如果要多次使用这六个数字,则需要让计算机保存它们. 这种保存操作称为在R中创建R对象.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-246322-1.html
我们是有了里子
常规战是打不赢老美的