您的位置 首页 > 数码极客

r中如何保存脚本文件,matlab保存脚本文件…

生信培训班的R语言课程高达3980元,本课程由小伍制作,几乎完全免费,欢迎大学关注本公众号,每天坚持学习,你的努力学习就是我继续做教程的动力。


















假设一名高中生要求我们帮助解决形式为

x 2+ b x + c = 0的

几个二次方程

一个X2+bX+C=0

编程语言的一个优点是我们可以使用这些变量定义变量和编写表达式,类似于我们在数学中的方式,但获得数值解。我们将在下面写出二次方程的通用代码,但是如果要求我们求解x

2 + x - 1 = 0

然后我们定义:

a <- 1 b <- 1 c <- -1

它存储值供以后使用。我们用来<-为变量赋值。

我们也可以使用=,而不是分配值<-,但我们建议不要使用=以避免混淆。

将上面的代码复制并粘贴到控制台中以定义三个变量。请注意,当我们进行此分配时,R不会打印任何内容。这意味着对象已成功定义。如果你犯了一个错误,你会收到一条错误信息。

要查看存储在变量中的值,我们只需要求R进行求值a并显示存储的值:

a# > [1] 1

要求R向我们展示存储的值的更明确的方法a是使用print如下:

print(a)# > [1] 1

我们使用术语对象来描述存储在R中的东西。变量是示例,但是对象也可以是更复杂的实体,例如函数,稍后将对其进行描述。

3.2.2工作区

当我们在控制台中定义对象时,我们实际上正在更改工作区。您可以通过键入以下内容来查看工作区中保存的所有变量:

ls()# > [1] "a" "b" "c" "img_path" "murders"

在RStudio中,Environment选项卡显示值:


我们应该看到a,b和c。如果您尝试恢复不在工作区中的变量的值,则会收到错误。例如,如果您键入,x您将收到以下消息:

Error: object 'x' not found。

现在,由于这些值保存在变量中,为了获得方程的解,我们使用二次公式:

(-b + sqrt(b^2 - 4*a*c) ) / ( 2*a )# > [1] 0.618(-b - sqrt(b^2 - 4*a*c) ) / ( 2*a )# > [1] -1.62

3.2.3功能

定义变量后,数据分析过程通常可以描述为应用于数据的一系列函数。R包括几个预定义的函数,我们构建的大多数分析管道都广泛使用这些函数。

我们已经使用的in,library和ls功能。我们还使用该函数sqrt来求解上面的二次方程。还有更多预建功能,甚至可以通过包添加更多功能。这些功能不会出现在工作区中,因为您没有定义它们,但可以立即使用它们。

通常,我们需要使用括号来评估函数。如果键入ls,则不评估函数,而是R显示定义函数的代码。如果键入ls(),则评估函数,如上所示,我们在工作区中看到对象。

与此不同ls,大多数函数需要一个或多个参数。下面是我们如何将对象分配给函数的参数的示例log。请记住,我们之前定义a为1:

log(8)# > [1] 2.08 log(a) # > [1] 0

通过查看R中包含的非常有用的手册,您可以找到函数期望的内容及其功能。您可以通过使用以下help函数获得帮助:

help("log")

对于大多数功能,我们也可以使用这个简写:

?log

帮助页面将显示函数所期望的参数。例如,log需要x和base运行。但是,有些参数是必需的,其他参数是可选的。您可以通过在帮助文档中注明分配了默认值来确定哪些参数是可选的=。定义这些是可选的。例如,函数的基数log默认为默认情况下base = exp(1)创建log自然日志。

如果您想在不打开帮助系统的情况下快速查看参数,可以键入:

args(log)# > function (x, base = exp(1)) # > NULL

您只需指定另一个对象即可更改默认值:

log(8, base = 2)# > [1] 3

请注意,我们没有x像这样指定参数:

log(x = 8, base = 2)# > [1] 3

上面的代码有效,但我们可以节省一些输入:如果没有使用参数名称,R假定您按照帮助文件中显示的顺序输入参数或者输入args。因此,通过不使用名称,它假定参数x后跟base:

log(8,2)# > [1] 3

如果使用参数的名称,那么我们可以按照我们想要的顺序包含它们:

log(base = 2, x = 8)# > [1] 3

要指定参数,我们必须使用=,而不能使用<-。

规则有一些例外,即函数需要对括号进行求值。其中,最常用的是算术运算符和关系运算符。例如:

2 ^ 3# > [1] 8

您可以键入以下内容来查看算术运算符:

help("+")

要么

?"+"

键入以下关系运算符:

help(">")

要么

?">"

3.2.4其他预建对象

有几个数据集可供用户练习和测试功能。您可以通过键入以下内容查看所有可用数据集:

data()

这将显示这些数据集的对象名称。这些数据集是只需键入名称即可使用的对象。例如,如果您键入:

co2

R将向您展示Mauna Loa大气CO2浓度数据。

其他预建对象是数学量,例如常数π

π

和∞

pi#> [1] 3.14Inf+1# > [1] Inf

3.2.5变量名称

我们使用的字母a,b并c作为变量名,但变量名可以是任何东西。R中的一些基本规则是变量名必须以字母开头,不能包含空格,不应该是在R中预定义的变量。例如,不要in通过键入类似的名称来命名其中一个变量in <- 2。

一个很好的约定是使用描述存储内容的有意义的单词,仅使用小写,并使用下划线代替空格。对于二次方程,我们可以使用这样的东西:

solution_1 <- (-b + sqrt(b^2 - 4*a*c)) / (2*a)solution_2 <- (-b - sqrt(b^2 - 4*a*c)) / (2*a)

如需更多建议,我们强烈建议您学习Hadley Wickham的风格指南。

3.2.6保存工作区

值将保留在工作区中,直到您结束会话或使用该功能擦除它们rm。但是工作空间也可以保存以供以后使用。实际上,当您退出R时,程序会询问您是否要保存工作区。如果您保存它,下次启动R时,程序将恢复工作区。

我们实际上建议不要以这种方式保存工作区,因为当您开始处理不同的项目时,跟踪保存的内容将变得更加困难。相反,我们建议您为工作区指定一个特定名称。您可以使用函数save或执行此操作save.image。要加载,请使用该功能load。保存工作区时,我们建议使用后缀rda或RData。在RStudio中,您还可以通过导航到“ 会话”选项卡并选择“ 将工作区另存为”来执行此操作。您可以稍后使用同一选项卡中的“ 加载工作区”选项加载它。您可以阅读帮助页面save,save.image并load了解更多信息。

,我们可以复制并粘贴上面的代码,然后重新定义变量并重新计算解决方案:

a <- 3 b <- 2 c <- -1 (-b + sqrt(b^2 - 4*a*c)) / (2*a) (-b - sqrt(b^2 - 4*a*c)) / (2*a)

通过使用上面的代码创建和保存脚本,我们不需要每次都重新键入所有内容,而只需更改变量名称。尝试将上面的脚本编写到编辑器中,并注意更改变量和接收答案是多么容易。

3.2.8你的代码

如果一行R代码以符号开头,#则不对其进行评估。我们可以用它来写出我们为什么编写特定代码的提醒。例如,在上面的脚本中我们可以添加:

## Code to compute solution to quadratic equation of the form ax^2 + bx + c# # define the variables a <- 3 b <- 2 c <- -1## now compute the solution (-b + sqrt(b^2 - 4*a*c)) / (2*a) (-b - sqrt(b^2 - 4*a*c)) / (2*a)
  1. 现在使用相同的公式计算1到1,000之间的整数之和。
  2. 查看在R中键入以下代码的结果:
n <- 1000 x <- seq(1, n) sum(x)
  1. 根据结果,您认为功能seq和sum做什么?您可以使用该help系统:
  2. A. sum创建一个数字列表seq并将它们相加。
  3. B. seq创建一个数字列表sum并将它们相加。
  4. C. seq计算两个参数之间的差异,并sum计算1到1000的总和。
  5. D. sum总是返回相同的数字。
  6. 在数学和编程中,我们说我们在用给定数字替换参数时评估函数。因此,如果我们输入sqrt(4),我们会评估sqrt函数。在R中,您可以评估另一个函数内的函数。评估从内到外发生。使用一行代码计算100的平方根的基数10。
  7. 以下哪项将始终返回存储的数值x?如果需要,您可以尝试示例并使用帮助系统。
  8. 一个。 log(10^x)
  9. B. log10(x^10)
  10. C。 log(exp(x))
  11. D. exp(log(x, base = 2))

3.4数据类型

R中的变量可以是不同类型的。例如,我们需要将数字与字符串和表格与简单的数字列表区分开来。该函数class帮助我们确定我们拥有的对象类型:

a <- 2 class(a)# > [1] "numeric"

为了在R中高效工作,学习不同类型的变量以及我们可以用这些变量做什么是很重要的。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“r中如何保存脚本文件,matlab保存脚本文件,r语言如何保存脚本文件,r语言保存脚本文件,r语言怎么保存脚本文件,怎么保存脚本文件”边界阅读