R,不只仅是一种语言
简介:R是什么
工欲善其事,必先利其器,作为一个战斗在IT界第一线的工程师,C/C++、Java、perl、python、ruby、php、javascript、erlang等等等等,你手中总有一把利用自如的刀,辅佐你披荆棘。
应用场景抉择常识的储蓄与东西的选择,反过来,无论你选择了什么样的东西,你必然会尽力地把它改革成切合本身应用场景所需的谁人样子。从这个原理来说,我选择了R[1]作为数据挖掘人员手中攻城陷池的那把云梯,并尽力地把它改革本钱身但愿的谁人样子。
关于R的一个较量精确的描写是:R是一门用于统计计较和作图的语言,它不光是一门语言,更是一个数据计较与阐明的情况。统计计较规模有三大东西:SAS、SPSS、S,R正是受S语言和Scheme语言影响成长而来。其最主要的特点是免费、开源、各类百般的模块十分齐全,在R的综合档案网络CRAN中,提供了大量的第三方成果包,其内容涵盖了从统计计较到呆板进修,从金融阐明到生物信息,从社会网络阐明到自然语言处理惩罚,从各类数据库各类语言接口到高机能计较模子,可以说无所不包,无所不容,这也是为什么R正在得到越来越多各行各业的从业人员喜爱的一个重要原因。
从R的普及来看,海外的普及度要明明好于海内,跟盗版windows的泛滥会影响Linux在中国的普及一样的原理,破解的matlab与SPSS的存在也影响了R在中国的利用人群。但在海外高校的统计系,R险些是一门必修的语言,具有统治性的职位。在家产界,作为互联网公司翘楚的google内部也有不少的工程利用R举办数据阐明事情,这里[2]有一个google campus的授课视频,内容就是用R作为东西来报告数据挖掘的观念与算法。
跟着连年来R利用者的增加,关于R的报道也屡有见于报端,如2009年头美国纽约时报就有一篇很好的报道:Data Analysts Captivated by R’s Power[3]。报道中述说了R的成长汗青以及由于数据挖掘需求的增长而日益普及的近况,它虽源于S但其成长却远远地高出了S,已经成为高校结业学生所选用的第二大东西语言,google与Pfizer的员工也先容了R在本身公司中的应用。另外,报道中google首席经济学家Hal Varian说:R的最让人惊艳之处在于你可以通过修改它来做所有的工作,而你已经拥有大量可用的东西包,这无疑让你是站在巨人的肩膀上事情。
以下就R的几个主要应用场景以及我在实践中的履历对这个并不算主流的编程语言作一些先容。
统计计较:R之最强项
R从它出生的第一天就是为了做统计计较的,当时它被界说为一个统计计较与作图的东西,固然成长到此刻它已经被赋予了越来越强大的成果,但此刻R的开拓人员里,照旧以各个高校统计系的老师与学生为主,他们自然最相识本身最需要的是什么。
在统计计较中,我们经常需要按照样本数据作线性回归,获得必然的纪律性,R中实现这个成果十分简朴,以下是一个一元线性回归的例子:
x <- 1:10
y <- x+rnorm(10, 0, 1)
fit <- lm(y ~ x)
summary(fit)
注明一下,R里的“<-”标记意义为赋值,大大都环境下它可以用“=”号来取代,但某些非凡的场所不行以,本文会遵循“<-”这种官方利用的写法。这个例子的前两行筹备了两列数据:自变量x与因变量y,第三行的函数lm即按照提供的样本数据举办线性回归计较,获得的模子功效可以用第四行打印出来。函数lm除了可以做这种简朴的一元线性回归,还可以做多元线性回归,同时返回模子的各类统计量。
做统计的往往免不了要做各类百般的图形,R的另一个根基特点就是对图形的强大支持,以下代码展示了一个箱线图的作法,代码来自boxplot函数的manual,该图显示了几列数据的分位数、中值、均值、奇异点等信息及其比拟位置。更具体的关于R的作图成果可以参看[4]。
boxplot(mpg~cyl,data=mtcars, main=”Car Milage Data”, xlab=”Number of Cylinders”, ylab=”Miles Per Gallon”)
12345下一页