R 编程/简介
外观
< R 编程
R 是一款用于数据分析的统计软件。它包含了大量的统计程序,例如 t 检验、卡方检验、标准线性模型、工具变量估计、局部多项式回归等。它还提供高级绘图功能。R 和 C 编程语言之间有一些细微的相似之处,但它们以不同的方式运行。
- R 是 自由软件。R 是一个官方的 GNU 项目,并根据 自由软件基金会 的 通用公共许可证 (GPL) 发布。
- R 是一个功能强大的数据分析软件包,包含许多标准和前沿的统计函数。查看综合 R 档案网络 (CRAN) 的 任务视图,了解您可以用 R 做什么。
- R 是一种编程语言,因此其功能可以通过使用用户定义的函数轻松扩展。在 CRAN 的 贡献包 中可以找到大量用户贡献的函数和包。
- R 广泛应用于政治学、统计学、计量经济学、精算学、社会学、金融学等领域。
- R 可用于所有主流操作系统(Windows、Mac OS、GNU-Linux)。
- R 是 面向对象的。几乎所有东西(例如,复杂的数据结构)都可以存储为 R 对象。
- R 是一种矩阵语言。
- R 语法比 Stata 或 SAS 语法更有条理。
- 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 PSPP 或 Gretl。中级用户可以查看 Stata。喜欢矩阵编程的高级用户可能会更喜欢 MATLAB 或 Octave。非常高级的用户可能会使用 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 区分大小写:
a
和A
是两个不同的对象。 - 传统上,名称中不使用下划线“
_
”。通常最好使用点“.
”。应避免使用下划线作为对象名称的第一个字符。
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]- Google 的 R 风格指南 : 一套针对 R 程序员的规则
参考文献
[edit | edit source]- ↑ Andrew Redd 的便携式 R http://sourceforge.net/projects/rportable/
- ↑ "Python 数据分析库". pandas.pydata.org/. 检索于 2013 年 2 月 14 日.
- ↑ "Pandas 入门". blog.kaggle.com. 2013 年 1 月 17 日. 检索于 2013 年 2 月 14 日.