跳转到内容

统计分析:使用 R/R/函数入门

来自维基教科书,开放的书籍,面向开放的世界
除了数字之外,R 中可能最有用的命名对象是函数。您在 R 中执行的几乎所有有用操作都是使用函数完成的,并且许多函数默认情况下在 R 中可用。您可以通过键入函数名称后跟一对圆括号来使用(或“调用”)函数。例如,启动文本提到了以下函数,如果您想在已发布的作品中引用 R,您可能会发现它很有用。
输入
citation()
结果
> citation() 在出版物中引用 R 时,请使用:R Development Core Team (2008)。R:一种用于统计计算的语言和环境。R Foundation for Statistical Computing,维也纳,奥地利。ISBN 3-900051-07-0,URL http://www.R-project.org。LaTeX 用户的 BibTeX 条目是 @Manual{, url = {http://www.R-project.org}, title = {R: A Language and Environment for Statistical Computing}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2008}, note = {{ISBN} 3-900051-07-0}, } 我们投入了大量时间和精力来创建 R,请在使用它进行数据分析时引用它。另请参见“citation("pkgname")”以引用 R 包。
许多 R 函数可以根据您提供给它们的参数生成不同的结果。参数放在圆括号内,用逗号分隔。许多函数有一个或多个可选参数:也就是说,您可以选择是否提供它们。citation() 函数就是一个例子。它可以接受一个可选参数,该参数给出R 附加包的名称。如果您不提供可选参数,通常会有一个假设的默认值(在citation() 的情况下,此默认值为"base",即提供基本包的引用:提供 R 语言大多数基础的包)。

函数的大多数参数都是命名的。例如,citation 函数的第一个参数名为package。为了提供额外的清晰度,在使用函数时,您可以提供长格式的name=value 参数。因此

citation("base")

citation(package="base")
相同。如果函数可以接受多个参数,使用长格式还允许您更改参数的顺序,如下面的示例代码所示。
输入
citation("base")      #Does the same as citation(), because the default for the first argument is "base"
                      #Note: quotation marks are needed in this particular case (see discussion below)
citation("datasets")  #Find the citation for another package (in this case, the result is very similar)
sqrt(25)              #A different function: "sqrt" takes a single argument, returning its square root.
sqrt(25-9)            #An argument can contain arithmetic and so forth
sqrt(25-9)+100        #The result of a function can be used as part of a further analysis
max(-10, 0.2, 4.5)    #This function returns the maximum value of all its arguments
sqrt(2 * max(-10, 0.2, 4.5))             #You can use results of functions as arguments to other functions
x <- sqrt(2 * max(-10, 0.2, 4.5)) + 100  #... and you can store the results of any of these calculations
x
log(100)              #This function returns the logarithm of its first argument
log(2.718282)         #By default this is the natural logarithm (base "e")
log(100, base=10)     #But you can change the base of the logarithm using the "base" argument
log(100, 10)          #This does the same, because "base" is the second argument of the log function
log(base=10, 100)     #To have the base as the first argument, you have to use the form name=value
结果
> citation("base") #与 citation() 相同,因为第一个参数的默认值为 "base" 在出版物中引用 R 时,请使用:R Development Core Team (2008)。R:一种用于统计计算的语言和环境。R Foundation for Statistical Computing,维也纳,奥地利。ISBN 3-900051-07-0,URL http://www.R-project.org。LaTeX 用户的 BibTeX 条目是 @Manual{, title = {R: A Language and Environment for Statistical Computing}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2008}, note = {{ISBN} 3-900051-07-0}, url = {http://www.R-project.org}, } 我们投入了大量时间和精力来创建 R,请在使用它进行数据分析时引用它。另请参见“citation("pkgname")”以引用 R 包。 > #注意:在这种特定情况下需要引号(见下文讨论) > citation("datasets") #查找另一个包的引用(在本例中,结果非常相似) 'datasets' 包是 R 的一部分。在出版物中引用 R 时,请使用:R Development Core Team (2008)。R:一种用于统计计算的语言和环境。R Foundation for Statistical Computing,维也纳,奥地利。ISBN 3-900051-07-0,URL http://www.R-project.org。LaTeX 用户的 BibTeX 条目是 @Manual{, title = {R: A Language and Environment for Statistical Computing}, author = {{R Development Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2008}, note = {{ISBN} 3-900051-07-0}, url = {http://www.R-project.org}, } 我们投入了大量时间和精力来创建 R,请在使用它进行数据分析时引用它。另请参见“citation("pkgname")”以引用 R 包。 > sqrt(25) #一个不同的函数:"sqrt" 接受一个参数,返回其平方根。 [1] 5 > sqrt(25-9) #参数可以包含算术等 [1] 4 > sqrt(25-9)+100 #函数的结果可以用作进一步分析的一部分 [1] 104 > max(-10, 0.2, 4.5) #此函数返回所有参数的最大值 [1] 4.5 > sqrt(2 * max(-10, 0.2, 4.5)) #您可以将函数的结果用作其他函数的参数 [1] 3 > x <- sqrt(2 * max(-10, 0.2, 4.5)) + 100 #... 您可以存储所有这些计算的结果 > x [1] 103 > log(100) #此函数返回其第一个参数的对数 [1] 4.60517 > log(2.718282) #默认情况下,这是自然对数(以“e”为底) [1] 1 > log(100, base=10) #但您可以使用 "base" 参数更改对数的底数 [1] 2 > log(100, 10) #这与上面相同,因为 "base" 是 log 函数的第二个参数 [1] 2 > log(base=10, 100) #要将底数作为第一个参数,您必须使用 name=value 形式 [1] 2
请注意,在键入普通文本(如包的名称)时,需要用引号[1]将其包围,以避免与对象的名称混淆。换句话说,在 R 中
citation

指的是一个函数,而

"citation"

是一个文本“字符串”。这在提供绘图标题等时非常有用。

您可能会发现,了解 R 的最棘手方面之一是知道在特定情况下使用哪个函数。幸运的是,R 不仅提供了所有函数的文档,还提供了搜索文档的方法,以及其他获取帮助的方法。


  1. 您可以使用单引号(')或双引号(")来分隔文本字符串,只要开始和结束引号匹配即可
华夏公益教科书