R2014年号称流行,是否会在2016体现,give-up matlab,可视化

来源:互联网 发布:mysql 表连接 编辑:程序博客网 时间:2024/04/29 17:52

Alteryx认为,基于R编程语言的分析将数据科学家“御用”模式,这种分析在2014年将成为主流,将替代传统的SAS及SPSS模式。Alteryx说道:“超过200万用户和300万的分析师都在寻找更好的解决方案,R恰逢其时。”

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:Han Hsiao
链接:http://www.zhihu.com/question/21577951/answer/23797202
来源:知乎

之前回答过类似的问题,有兴趣建议抽出时间看一看:
  • 怎么培养数据分析的能力?
  • 如何系统地学习数据挖掘?

如果说数据挖掘是一门手艺,那么R语言就是工匠手里一种工具,要做出一件价值连城的艺术品需要先“利其器”,但更关键的是工匠能够“集百家之长,成一家之言“自成一派的创造力。

正所谓”操千曲而后晓声,观千剑而后识器"。建议初学者先了解一些机器学习的基础理论以及典型的应用领域实例,定下自己想要研究的方向后与行业相结合,然后再学习工具的使用。

R语言经典图书推荐:
  • 《R in Action-Data Analysis and Graphics with R》链接:R语言实战 (豆瓣)
这本书从实用的统计研究角度,每一章节结合实际的例子讲解了R在创建数据集、绘制图形、数据管理、以及模型构建的使用方法,堪称经典。前两部分属于R基本功能介绍,第三部分以后才是精髓开始(包括了回归分析、方差分析、功效分析、广义线性模型、主成分和因子分析等统计方法详细的实例分析)。
  • 《数据之魅-基于开源工具的数据分析》链接:数据之魅 (豆瓣)
作者是华盛顿大学理论物理学博士。这本书是数据分析系列著作的经典之一,包含大量的R语言模拟过程及结果展示,例举了很多数据分析实例和代码。吃透以后就能够对整个数据挖掘的流程有一个全方位的了解。




R:优点和缺点

  优点

  可视化能力强

  可视化通常让我们更有效地理解数字本身。R和可视化是绝配。一些必看的可视化软件包是ggplot2,ggvis,googleVis和rCharts。

  完善的生态系统

  R具有活跃的社区和一个丰富的生态系统。R包在CRAN,Bioconductor的和Github上。您可以通过Rdocumentation搜索所有的R包。

  用于数据科学

  R由统计学家开发,他们可以通过R代码和包交流想法和概念,你不一定需要有计算机背景。此外企业界也越来越接受R。

  缺点

  R比较缓慢

  R使统计人员的更轻松,但你电脑的运行速度可能很慢。虽然R的体验是缓慢的,但是有多个包来提高的r性能:pqR,renjin,FastR, Riposte 等等。

  R不容易深入学习

  R学习起来并不容易,特别是如果你要从GUI来进行统计分析。如果你不熟悉它,即使发现包可能会非常耗时。

  Python:优点和缺点

  优点


1.对象内在属性
在R中,所有对象的数据都有两个属性:mode 和 length 即类型【包含数值型(numeric)、字符型(character)、复数性(complex)、逻辑型(logical)】和长度【包含元素个数】,可分别用函数“mode()”、“length()”得到。同时可以用“x <- numric(2)”定义x为一个长度为2的数值型数据,其他数据类型也同样,“logical(2)”表示长度为2的逻辑型数据。长度为2表示其x包含了两个数据值,用线代语言说就是x是一个2维行向量。

2.数据形式
在线性代数里有向量、矩阵和行列式等数据形式,R语言也有不同的数据形式以应对各种数据处理。包括:向量、数组、矩阵、列表、数据框和时间序列。
2.1 向量
向量是由一组同样类型(mode)的数据构成。数值向量、字符向量和逻辑向量。在统计学中数据有分类数据、顺序数据、数值数据之分,有时候看似数字但实际表示一个组别,比如在SPSS中输入数据定义0为男,1为女。由此在R中又有一种因子向量,表示类别。下面一一介绍四种向量。向量的通用赋值函数“c()”,用穷举法列出向量所有的元素。
【数值型向量赋值】:
列举法:
“x <- c(1,2,3,4,5) ”表示5维行向量,分别等于1到5,也可以写成“ x<- c(1:5)”【此用法只适用于数值型数据,且等差为1。那“c(1.4:5)”生成的数据是怎样的?just try~】
在函数“c()”中列举时也可以包含已经赋值的向量,比如上个命令我们已经对x赋值,那么“y <- c(x,x,x)”表示什么?试试看,我想你能很轻易的发现规律。

重复法:
对于命令“y <-c (x,x,x)” 还有更简单的写法,“y <- rep(x,times=3)”【当然参数x是单个元素也可以,比如“rep(1,times3)”,而且此函数在也实用于其他数据类型哦~】
函数“rep(x,time= ,each= ,length.out=)”中的“times”参数表示x的重复次数,参数“each”表示每个元素重复的次数,试试
y <- rep(x,times=3,each=2)
参数“length.out”表示截取前多少个元素,试试y<-rep(x,times=3,each=2,length.out=2)
【by the way:是不是觉着参数多的时候输入很麻烦?】
这里顺便介绍下函数参数的写法。首先声明在函数内部对参数赋值习惯用等号【虽然“<-”也可以吧】“rep(x,times=3,each=2,length.out=2)”也可以简单的写“rep(x,3,3,2)”,不用输入参数名称直接按顺序输入其值就可以了。那如何查看参数的顺序?前边是不是提到过R语言强大的帮助系统?输入命令“?rep”敲回车看看。

等差数列赋值函数:
函数“c(1:3)”的等差为1【其实是符号“:”的等差为1,可将其称为等差符】,那等差为0.5或者2怎么办?用更一般的函数“seq(from=,to=,by=,length.out=)”从“from”为第一个元素开始,最大的元素不大于“to”。
参数“by”表示等差,参数“length.out”表示等差数列元素的个数,两个参数任给一个。在参数“length.out”给定参数“by”自动按“by = ((to - from)/(length.out - 1))”计算。
不明白? 那就试试“seq(1,5,1)”跟“seq(1,5,length.out=5)”

0 0
原创粉丝点击