跳转到内容

R 编程/简介

来自维基教科书,开放的世界,开放的书籍

什么是 R ?

[编辑 | 编辑源代码]

R 是一款用于数据分析的统计软件。它包含了大量的统计程序,例如 t 检验、卡方检验、标准线性模型、工具变量估计、局部多项式回归等。它还提供高级绘图功能。R 和 C 编程语言之间有一些细微的相似之处,但它们以不同的方式运行。

为什么要使用 R?

[编辑 | 编辑源代码]
  • R 是 自由软件。R 是一个官方的 GNU 项目,并根据 自由软件基金会通用公共许可证 (GPL) 发布。
  • R 是一个功能强大的数据分析软件包,包含许多标准和前沿的统计函数。查看综合 R 档案网络 (CRAN) 的 任务视图,了解您可以用 R 做什么。
  • R 是一种编程语言,因此其功能可以通过使用用户定义的函数轻松扩展。在 CRAN 的 贡献包 中可以找到大量用户贡献的函数和包。
  • R 广泛应用于政治学、统计学、计量经济学、精算学、社会学、金融学等领域。
  • R 可用于所有主流操作系统(Windows、Mac OS、GNU-Linux)。
  • R 是 面向对象的。几乎所有东西(例如,复杂的数据结构)都可以存储为 R 对象。
  • R 是一种矩阵语言。
  • R 语法比 StataSAS 语法更有条理。
  • R 可以安装在你的 USB 存储器上[1]

R 的替代品

[edit | edit source]
  • S-PLUS 是与 R 相同的 S 编程语言 的商业版本,而 R 是它的免费版本。
  • Gretl 是用于计量经济学的自由软件。它具有图形用户界面,非常适合初学者。
  • SPSS 是一种专有软件,通常用于社会学、心理学和市场营销。它以易于使用而闻名。
  • GNU PSPP 是 SPSS 的自由软件替代品。
  • SAS 是一种专有软件,可用于处理非常大的数据集,例如人口普查数据。
  • Stata 是一种专有软件,通常用于经济学和流行病学。
  • Julia 是一种通用编程语言,具有与 MATLAB、R 和 Python 相似的功能(以及 C 的速度),并且可以调用所有这些语言的库。
  • MATLAB 是一种专有软件,广泛应用于数学科学和工程领域。
  • Octave 是一款类似于 MATLAB 的自由软件。其语法相同,MATLAB 代码可以在 Octave 中使用。
  • Python 是一种通用编程语言。它包含一些用于数据分析的特定库,例如 Pandas[2] ·[3]

初学者可以查看 GNU PSPPGretl。中级用户可以查看 Stata。喜欢矩阵编程的高级用户可能会更喜欢 MATLABOctave。非常高级的用户可能会使用 C 或 Fortran

另请参阅

[edit | edit source]

R 编程风格

[edit | edit source]
  • R 是一种面向对象的编程语言。这意味着几乎所有东西都可以存储为 R 对象。每个对象都有一个类。此类描述了对象包含的内容以及每个函数对它的作用。例如,plot(x) 会根据 x 是回归对象还是向量而产生不同的输出。
  • 赋值符号是“<-”。或者,可以使用经典的“=”符号。

以下两个语句是等效的 

 > a <- 2
 > a = 2
  • 参数在圆括号(括号)内传递给函数。
  • 可以轻松地组合函数。例如,你可以直接键入
mean(rnorm(1000)^2)
  • 符号“#”对行尾进行注释
 # This is a comment
 5 + 7 # This is also a comment
  • 命令通常由换行符分隔。如果要在同一行上放置多个语句,可以使用“;”分隔符。
 a <- 1:10 ; mean(a)
  • 你也可以将一个语句放在多行上。
  • R 区分大小写:aA 是两个不同的对象。
  • 传统上,名称中不使用下划线“_”。通常最好使用点“.”。应避免使用下划线作为对象名称的第一个字符。
 1:10 |> mean(.)
  • 你也可以使用管道运算符 |>

你可以如何提供帮助

[edit | edit source]

以下是一些编辑人员为保持本书内部一致性而采取的操作。如果你有东西要贡献,请继续贡献。其他编辑随后可以修改你的编辑,使其符合指南。

R 编程书籍的本地风格手册 WB:LMOS,包括对我们为什么要这样做的简要解释,是

  • 示例使用“source”标签 : <syntaxhighlight lang="rsplus"> a <- 1:10 ; mean(a) </syntaxhighlight>。这样可以使它们对我们的读者看起来更美观。
  • 包的名称用粗体表示 : '''Hmisc'''
  • 函数的名称用“code”标签表示:<code>lm()</code>
  • 页面标题——“R Programming/”之后的部分——使用句首大写,例如“R Programming/Working with data frames”。我们无法决定是使用句首大写还是标题大写,所以我抛硬币决定了。
  • 每个页面在顶部都有 <noinclude>{{R Programming/Navigation}}</noinclude>,在底部都有 {{R Programming/Navbar|Mathematics|Probability Distributions}}。这使得在线从一个页面导航到另一个页面变得更容易。

另请参阅

[edit | edit source]

参考文献

[edit | edit source]
  1. Andrew Redd 的便携式 R http://sourceforge.net/projects/rportable/
  2. "Python 数据分析库". pandas.pydata.org/. 检索于 2013 年 2 月 14 日.
  3. "Pandas 入门". blog.kaggle.com. 2013 年 1 月 17 日. 检索于 2013 年 2 月 14 日.
索引 下一步:示例会话
华夏公益教科书