楼主: pipihappy8888

【大话IT】R语言:是什么困扰了你?

[复制链接]
论坛徽章:
0
51#
发表于 2015-3-29 13:45 | 只看该作者

1. 大家觉得R语言难学吗?困扰你的主要是什么?
目前看,比较难学。因为不是数学专业,对数学也不是研究很深。(当初对“数学”、“英语”等专业非常不屑一顾...后悔。)

使用道具 举报

回复
论坛徽章:
0
52#
发表于 2015-3-29 16:48 | 只看该作者
1. 大家觉得R语言难学吗?困扰你的主要是什么?

首先,关于R语言是否难学,我想这个问题要因人而异。众所周知,R语言是因统计而诞生,是一款优秀的统计计算与统计制图的软件,所以统计专业和数学专业的人学习R语言就具有得天独厚的优势,因为他们更懂得软件背后的理论,学起来可以更加有的放矢。R语言最大的优点是:它是由统计学家发明创造的,最大的缺点也是:它是由统计学家发明创造的。R语言的编程风格独特,采用向量式的编程风格,与其他流行语言(C/C++/Java)有很大差异,所以即便是一个资深的Java语言工程师,学习R语言也会很不适应,写出的R语言代码也会具有浓浓的Java风格。R语言非常灵活小巧,有时候Java里面需要100+行代码才能解决的问题,R语言2~3行代码就搞定了。

R语言最被人所称道的是:它有大量的扩展包可被调用。这一点既是R语言的魅力之处,也是包括我在内的R语言学习者(特别是初学者)比较困惑的地方。各种R语言包层出不穷,我该选用哪个包?特别是所遇到的问题无法在大众包里面找到答案时。

接触R语言一段时间之后,我最深的一点体会是:R语言是一把玩转数据的大杀器,但是要掌握它并不太容易,除了掌握R语言的独特语法和编程习惯,更为重要的是,要理解掌握你所用的各种R语言包、函数背后的统计和数学原理,如果仅仅只是依葫芦画瓢,并不是真正意义上掌握了R语言,唯有掌握其踪源,才能做到:杀器在手,指哪打哪!


2. R可以实现数据分析中的哪些工作?

R语言本就是为捣腾数据而生,因此,数据分析中的所有工作均可以在R语言里面完成。具体说来,主要有:

① 数据获取。
数据分析的第一步当然是要有数据,R语言不仅可以读取手头现有的数据(如csv/txt/excel文件数据);还可以读取其他统计分析软件中存储的数据(如sas/spss/stata软件的数据格式);更能与各种数据库接口连接,直接从数据库中读取数据,比如从mysql、hadoop等。

② 数据的预处理。
也就是数据的清洗、转换等ETL工作。包括对缺失值的处理:删除or填充,R语言中均有现成的函数可以实现。还有,如果现有的数据指标不能满足分析目标,就需要衍生构建新指标了,这在R中也是能快速方便地实现的。

③ 数据的探索。
这一阶段的工作主要是充分认识你获得的数据,包括了解每个变量指标的类型(数值or字符),这决定了你后面可采用的分析模型。了解每个指标变量的值的分布情况,你可以用R语言计算其概要统计量或者做简单的直方图观察。确认是否具有异常值存在,如果有,评估其对整体数据的影响,以便决定是删除异常值还是保留异常值。观察你感兴趣的某个变量之间的相关关系,可以用R语言做散点图,计算相关系数来观察。

④ 数据的分析。
当你对数据有了充分的认识之后,你就可以对你所感兴趣的分析主题进行分析了。这个阶段你可能会尝试用到各种统计模型,这刚好是R语言所擅长的。

⑤ 结果的展现。
当你通过对数据的分析,得到了有价值的结论,就需要通过强有力的方式展现出来了。俗话说,一图胜千言,绘图恰好是R语言的强项,有些你以前未曾见过的高逼格图像,R语言都能做出来。通过丰富的包装,你的数据分析报告才能吸引住老板的眼球,不被当成垃圾扔掉。


3. 你曾经使用或编写过R软件包吗?

曾经使用过的R语言包还是挺多的,有:
① ggplot2包。一种基于图形语法的高效作图包,各种高端大气上档次的图形都可以调用这个包画出来。
② knitr包。实现了“文学化编程、自动化报告”的理念,让你与枯燥的复制粘贴say goodbye!代码与报告浑然天成!
③ shinny包。一种实现可交互式作图的包。参数调节可交互,逼格好高!连ppt都免了,直接用这个包来代替。
④ tm包。一种文本挖掘的包,有过探索,但好像对中文文本挖掘支持不够。
⑤ rpart包。一种实现决策树算法的包。
……

目前还没有尝试自己编写R包,感觉水平暂时还不够,以后争取自己捣腾一个R包出来,为R社区的发展壮大添砖加瓦。


4. 说说您读完试读样章后的启发

大概花了一个小时的时间读完了方老师的样章,说说我的感受吧。

① 从样章可以感受出来,这本书是比较偏应用、案例的一本书,书中没有特别复杂的公式,很多背景原理的交代都是以通俗的文字描述,而且描述得简洁清晰。当然,如果没有接触过相关的统计原理,想深入了解的需要自己补相关的知识了。

② 行文非常有层次感,逻辑清晰。样章首先介绍了用R语言产生各种一元随机数的案例,然后介绍了用R语言产生各种多元随机数的案例,这一点我认为是比较有收获的,因为以前用R产生的随机数基本都是一元的,多元的以前还没有见过,读罢算是长见识了。

③ 关于一些R函数的用法,有一些以前没用过,记录一下,算是积累吧。
par(mfrow=c(1,3)) #作图布局设置
curve(dunif(x,0,1),add=T,col="red") #添加均匀分布密度函数线
acf(x)#画自相关系数图
points(xvals,dbinom(xvals,n,p),type="h",lwd=3)  #在图上画点
as.vector(outer(1:6,1:6,paste))  #向量元素间组合

使用道具 举报

回复
论坛徽章:
0
53#
发表于 2015-3-30 01:18 | 只看该作者
无能为力。楼下继续解答

使用道具 举报

回复
论坛徽章:
5
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18秀才
日期:2015-10-19 15:49:55秀才
日期:2015-10-19 15:50:39
54#
发表于 2015-3-31 16:46 | 只看该作者
1. 大家觉得R语言难学吗?困扰你的主要是什么?

R语言作为数据统计、数据挖掘分析、可视化展现的开源语言,有它独特的语法与特色,作为程序员多实践一下不难掌握,难的是掌握R语言各种包算法及其背后的意义,
才能在各种类型的数据挖掘中得心应手。

2. R可以实现数据分析中的哪些工作?

R内建多种统计学及数字分析功能。 R的功能也可以透过安装套件(Packages,用户撰写的功能)增强。因为S的血缘,R比其他统计学或数学专用的编程语言有更强的物件导向(面向对象程序设计)功能。

R的另一强项是绘图功能,制图具有印刷的质素,也可加入数学符号。

虽然R主要用于统计分析或者开发统计相关的软体,但也有人用作矩阵计算。其分析速度可比美GNU Octave甚至商业软件MATLAB。


3. 你曾经使用或编写过R软件包吗?

还没有。


4. 说说您读完试读样章后的启发

从样章来看,此书偏重实践,对学习R有非常好的作用,通过一个个实战例子掌握R的各种高级技巧。

使用道具 举报

回复
论坛徽章:
0
55#
发表于 2015-5-4 10:18 | 只看该作者
fangkn 发表于 2015-3-21 13:48
1.R语言最大的特点实际上面向数据分析、统计方法开发的一种面向对象的编程语言。R是一套完整的数据处理、 ...

R更为学术一点,像项目中都会涉及到整个工程开发,一般使用python更为多些,R就不是很方便。
另外目前来看,金融公司尤其是银行业很少使用R,普遍都是SAS或者其他分析工具。可能互联网类企业用R会多些

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表