rstudio深度学习
您已经听说过R。也许您读过类似Sam Siewert的文章“ 云中的大数据 ”。 您知道R是一种编程语言,并且它与统计信息有关,但是它适合您吗?
R做统计。 您可以将其视为SAS Analytics等分析系统的竞争对手,更不用说像StatSoft STATISTICA或Minitab这样的简单软件包了。 政府,企业和制药行业中的许多专业统计学家和方法论专家将职业生涯花在IBM SPSS或SAS上,而无需编写一行R代码。 因此,在某种程度上,学习和使用R的决定与企业文化以及您的工作方式有关。 我在统计咨询实践中使用了几种工具,但是我所做的大部分工作都是在R中完成的。这些示例说明了原因:
作为一种编程语言,R与许多其他语言相似。 任何曾经编写过代码的人都会在R中找到很多熟悉的东西。 R的独特之处在于它支持的统计哲学。
在编写和调试程序以执行所需算法之后,计算机一直擅长于计算事物。 但是在1960年代和1970年代,它们在信息(尤其是图形)的显示方面很薄弱。 这些技术局限性以及统计理论中的趋势,意味着统计学的实践和对统计学家的培训都集中在模型构建和假设检验上。 一个假设的世界中,研究人员反对假设(通常是农业的),建立精心设计的实验(在农业站),拟合模型并运行测试。 基于电子表格的菜单驱动程序(如SPSS)反映了这种方法。 实际上,SPSS和SAS Analytics的第一个版本由子例程组成,可以从(Fortran或其他)程序中调用这些子例程,以从模型工具箱中拟合并测试其中的一个子例程。
John Tukey将这个探索性数据分析(EDA)的概念像巨石一样通过玻璃屋顶扔到了这个形式化,理论丰富的框架中。 如今,很难想象有一个时间可以在没有箱形图检查偏斜度和离群值的情况下开始数据集的分析,或者没有针对分位数图对线性模型的残差进行正态性检查的情况。 这些想法起源于Tukey,现在,没有它们就没有介绍性的统计学课程。 并非总是如此。
EDA不仅仅是一种理论,而是一种方法。 该方法的基本原则是以下经验法则:
Tukey的方法掀起了新的图形方法和鲁棒估计器的发展浪潮。 它也启发了开发一种更适合探索性方法的新软件框架。
S语言是由约翰·钱伯斯(John Chambers)及其同事在贝尔实验室开发的,是用于统计分析的平台,尤其是Tukey类的统计分析平台。 供贝尔内部使用的第一个版本是1976年开发的,但是直到1988年才达到目前的形式。 到那时,贝尔以外的用户也可以使用该语言。 语言的每个方面都适合数据分析的“新模型”:
最初的S语言非常重视Tukey的EDA,以至于除了 EDA之外,其他任何语言都很难做到。 这是一种有态度的语言。 例如,尽管S附带了一些有用的内部功能,但是它缺少一些您希望统计软件拥有的最明显的功能。 没有执行两次样本t检验或任何形式的假设检验的功能。 但是尽管有Tukey,假设检验有时还是正确的做法。
1988年,总部位于西雅图的统计科学(Statistical Science)授予S许可,并将该语言的增强版本S-Plus移植到DOS和更高版本的Windows®中。 真正意识到客户的需求后,统计科学公司将经典统计功能添加到了S-Plus中。 添加了方差分析(ANOVA), t检验和其他模型的功能。 按照S的对象定向,任何此类拟合模型的结果本身就是S对象。 适当的函数调用可提供假设检验的拟合,残差和p值。 模型对象甚至可以包含分析的中间计算步骤,例如设计矩阵的QR分解(其中Q是正交的,R是右上角的三角形)。
大约在S-Plus推出的同时,新西兰奥克兰大学的Ross Ihaka和Robert Gentleman决定尝试编写口译员。 他们选择了S语言作为他们的模型。 该项目初具规模并获得了支持。 他们将其命名为R。
R是S-Plus的附加模型,是S的实现。 在某些情况下,同一个人也参与其中。 R是GNU许可下的一个开源项目。 在此基础上,R继续增长,主要是通过添加软件包。 R软件包是C或Fortran中数据集,R函数,文档和动态加载项的集合,可以成组安装并从R会话访问。 R程序包为R添加了新功能,并且通过这些程序包,研究人员可以轻松地在其同级之间共享计算方法。 一些软件包的范围有限,另一些软件包则代表整个统计领域,而某些软件包则包含了最前沿的发展。 实际上,统计学的许多发展首先是作为R包出现的,然后才成为商业软件。
在撰写本文时,R下载站点CRAN上出现了4,701个R软件包。 其中,仅在当天添加了六个。 R似乎可以容纳所有东西。
注意:本文不是R的教程。下面的示例仅是为了让您了解R会话的外观。
R二进制文件可用于Windows,Mac OS X和多个Linux®发行版。 对于喜欢自己编译的人也可以使用源代码。
在Windows®中,安装程序将R添加到“ 开始”菜单中。 要在Linux中启动R,请打开一个终端窗口,并在提示符下键入R
您应该看到类似图1的内容。
在提示符下键入命令,R响应。
此时,在实际环境中,您可能会从外部数据文件中将数据读取到R对象。 R可以读取多种格式的数据,但是在本示例中,我使用MASS包中的michelson
数据集。 这是Venables和Ripley的标志性文本“ 带有S-Plus的现代应用统计信息”的随附软件包(请参阅参考资料 )。 michelson
包含来自著名的迈克尔逊和莫雷的实验结果来衡量光速。
清单1中提供的命令加载了MASS包,获取了michelson
数据并对其进行了窥视。 图2显示了带有R响应的命令。每行包含一个R函数,其参数放在方括号( []
)中。
2+2 # R can be a calculator. R responds, correctly, with 4.
library("MASS") # Loads into memory the functions and data sets from
# package MASS, that accompanies Modern Applied Statistics in S
data(michelson) # Copies the michelson data set into the workspace.
ls() # Lists the contents of the workspace. The michelson data is there.
head(michelson) # Displays the first few lines of this data set.
# Column Speed contains Michelson and Morleys estimates of the
# speed of light, less 299,000, in km/s.
# Michelson and Morley ran five experiments with 20 runs each.
# The data set contains indicator variables for experiment and run.
help(michelson) # Calls a help screen, which describes the data set.
现在让我们看一下数据(参见清单2)。 输出如图3所示。
# Basic boxplot
with(michelson, boxplot(Speed ~ Expt))
# I can add colour and labels. I can also save the results to an object.
michelson.bp = with(michelson, boxplot(Speed ~ Expt, xlab="Experiment", las=1,
ylab="Speed of Light - 299,000 m/s",
main="Michelson-Morley Experiments",
col="slateblue1"))
# The current estimate of the speed of light, on this scale, is 734.5
# Add a horizontal line to highlight this value.
abline(h=734.5, lwd=2,col="purple") #Add modern speed of light
似乎迈克尔逊和莫利系统地高估了光速。 实验之间似乎也存在一些异质性。
当我对分析满意时,可以将所有命令保存到一个R函数中。 参见清单3。
MyExample = function(){
library(MASS)
data(michelson)
michelson.bw = with(michelson, boxplot(Speed ~ Expt, xlab="Experiment", las=1,
ylab="Speed of Light - 299,000 m/s", main="Michelsen-Morley Experiments",
col="slateblue1"))
abline(h=734.5, lwd=2,col="purple")
}
这个简单的例子说明了R的几个重要功能:
boxplot()
函数返回大量有用的统计信息以及图形,您可以通过michelson.bp = ...
这样的赋值语句将其保存到R对象,并根据需要提取它们。 任何赋值声明的结果在整个R会话中都是可用的,并且可能成为进一步分析的主题。 boxplot
函数返回一个统计矩阵,用于绘制箱形图(中位数,四分位数等),每个箱形图中的项目数以及离群值(在图3中的图形上显示为空心圆) 。 参见图4。 boxplot
函数的统计信息 Speed ~ Expt
告诉该函数对Expt的每个级别(实验编号)执行Speed的箱形图。 如果我希望进行方差分析来测试Speed是否在整个实验中发生显着变化,我会使用相同的公式: lm(Speed ~ Expt)
。 公式语言可以表达各种统计模型,包括交叉和嵌套效应以及固定和随机因素。 Tukey的数据分析探索方法已成为课堂规范。 这是我们的教导,统计学家是这样做的。 R支持这种方法,这可以解释为什么它仍然流行。 面向对象还有助于R保持最新状态,因为新的数据源需要新的数据结构进行分析。 InfoSphere®Streams现在支持与John Chambers设想的数据不同的R分析。
InfoSphere Streams是一个计算平台和集成开发环境,用于分析来自数千个来源的高速数据。 这些数据流的内容通常是非结构化或半结构化的。 分析的目的是检测数据中变化的模式并根据快速变化的事件指导决策。 SPL是InfoSphere Streams的编程语言,它通过一种范式来组织数据,该范式反映了数据的动态性质以及对快速分析和响应的需求。
与电子表格和经典统计分析的常用平面文件相比,我们还有很长的路要走,但是R可以适应。 从3.1版开始,SPL应用程序可以将数据传递给R,从而可以利用R的扩展软件包库。 InfoSphere Streams通过创建适当的R对象以接收SPL 元组 (SPL中的基本数据结构)中包含的信息来支持R分析。 因此,可以将InfoSphere Streams数据传递到R进行进一步分析,并将结果传递回SPL。
公平地说,R在某些方面做得不好或根本做不到。 R也并非同样适合每个用户:
我需要学习R吗? 也许不是; 需求是一个强有力的词。 但是R是用于数据分析的有价值的工具吗? 当然。 该语言的设计明确反映了统计学家的思维和工作方式。 R加强良好的习惯和声音分析。 对我来说,这是完成这项工作的正确工具。
翻译自: https://www.ibm.com/developerworks/analytics/library/bd-learnr/index.html
rstudio深度学习