京公网安备 11010802034615号
经营许可证编号:京B2-20210330
入门数据分析,我应该学习什么编程语言
很多时候,当和人们讨论怎么开始学习数据科学,一个疑惑总是出现在我们面前:
我不知道应该学什么编程语言。
不仅仅是编程语言,这还包括软件系统,例如TABLEAU,SPSS等,这是个更加广阔范畴的工具和编程语言的集合,让人非常难清楚该如何选择。
我很明白。数年前,我刚开始把目光集中于数据科学的时候,我浏览了所有流行的编程语言Python,R,SAS,D3,并不包括那些虽然触手可及,但是实在是在数据分析方面没有优势的语言,例如perl,BASH和JAVA。即使在今天,我也只是从别处得到建议(从一个非常出名的数据科学博客)去使用复杂一点的工具,例如UNIX的AWK和SED(不用担心你对这两个没有任何印象,因为你没有必要学,至少在开始阶段)
这里有非常多的建议,非常多的素材,非常多的选择,这使得了解清楚最开始学习什么变得非常困难。这是一片知识的山峰,并且非常难找到哪里有着“金矿”,你得到的教训就是假以时日的探寻搜索之后会给你丰厚的回报。
你要清楚,某些语言会让你受益匪浅(无论是在时间上还是金钱上),其他的语言是辅助用的工具,顶多陪伴你数年。
让我把这堆话简化吧:先学R语言
集中在一种语言上
在介绍给你为何要学R之前,我需要和你强调的是你应该在开始学习数据科学的时候,学一项语言。
就像我在SHARPSIGHT LAB写的R语言新手教程一样,我被数个人问了为何不同时去学PYTHON。我的回答一贯没变。否决。只有直到你有非常直接的需要多于一种语言来使用的时候,你才能去学。
为何要集中在一项语言上呢?
因为你需要集中更多时间在进程和技术上,而非语法上。你要了解如何理解数据以及怎么用这数据科学的工具去解决问题。总而言之,我认为r是最佳的做这个的编程语言。
学习R
不做保留地,我仍然推荐你应该学习R作为你的第一项数据科学编程语言。虽然总有例外的情况(例如你为了一些特殊的计划需要),我认为R是你起步时最好的选择。
这就是为什么
R即将变成数据科学里的“国际话”
R即将成为数据科学里的“国际话”,这并不是说这个语言是这一界的唯一语言,或者是每个人最佳的工具,但是,毫无疑问,这个是最收到广泛应用的,也是使用人不断上升的。
正如我所写过的那样,O’REILLYMEDIA做了一个调查于2014年,从而了解各种数据学家爱用的工具,他们发现R成了之中最流行的(如果你把SQL从“像样的”语言里踢出去的话)
从更广阔的视野看,这里有别的在综合层面上的关于编程语言的普及度(不仅仅从数据学家的人群里计算)例如,REDMONK使用验证讨论(在STACK OVERFLOW上)和计算使用次数(在GITHUB上)测量出了编程语言的流行程度。而在他们最新的排位表上,R语言排名13,算是在统计学的语言中最高者。REDMONK同样注意到R的流行率在不断增加。
一个TIOBE给出的相近的排位(通过搜索引擎的搜索次数测定)便表现了R的普及率趋势宛如滔滔江水无法阻挡其前进。
从这两个组织对于所有编程语言的排位评价来看,当你看着这些数据,你就会深刻知道R是目前最流行以及最通用的编程语言了。
用R的公司们
R在数个最好的招聘数据学家的公司里被重用。谷歌和脸书——我认为的最好的两个在我们现代经济里存活下来的公司——同样都有数据学家使用R
(为了让人理解宛如脸书这样这么大的公司使用R,我会常常去查阅SOLOMONMESSING的博客。那是一个脸书的数据学家开的,而他的博客上写的R语言十分出色)
就像分析学的进步于目前所说那样,“R也是作为微软公司的数据科学家们的选择,当他们用BING,AZURE,OFFICE, 还有销售,市场经营以及经济建筑的时候常能看到它的身影。
那些技术的巨人公司例如谷歌,脸书还有微软,R非常广泛地适用于各种公司,包括了美国银行,福特,TECHCRUNCH,UBER和TRULIA。
R在学术界的流行
R不仅仅是企业的工具。也是在学术领域的科学家和研究者的宠儿。最近一份文件展示了R在调查中展示出来的情况——
R在学术领域的重要性体现在其培养出来的技术表现出了企业范儿。
另一种说法,如果学院顶尖的人在他们学习的时候训练R语言的用法,那么在企业就业的领域,R的重要性就会上升。这种学术界的,围绕于博士间的,研究者的支持会让他们在下海经商的时候创造自己对人的用R的方法。
更值得一提,作为数据科学的前线,忙于事务的数据工作者会需要和更多的学院派科学家接触,我们将会借助他们的技术以及和他们共享创意。就像我们建设和栽种并且将这个世界变成数据流一样,学术科技和基于事务的数据科学总能连成一条模糊的桥梁。
认识到R里面最简单的是数据科学的技能
R的热门并非是学习它的唯一理由。
非常重要的是,如果你真的想掌握数据科学,那么你应该学这些核心的技术领域。数据操纵,数据视觉化,机械性学习。
选择语言时,你应该保证它有同时能适应这三项领域的能力。你需要工具去完成这些事就像你认真地学习你选择的语言一样。
就像我说的,你要集中于进程和技术方面,而不是语法。
你需要学会怎么思考解决方法。
你需要学会发现内在的数据。
为了做到这些,你就需要精通上面这三样了。精通这三样会让你在R的学习之路上十分轻松,比学别的更轻松。
数据汇总
有句话常说,八成的数据科学工作都是操纵数据,无论是否有这么多,你都要去做,用非常多的时间去做。把数据加工成你想要的形状,而R有着最佳的工具帮你实现。
Dpylr包可以让你的数据操作变得很简易,这是我几年来一直常用的。当你活用起来的时候你会漂亮地完成数据流的。
数据可视化
Ggplot2作为最好的年度数据可视化工具之一。而它的绝妙之处在当你学了语法之后你也就懂得了如何做到数据可视化了。
我说过很多次,所有定型了的视图都有着深层的共同结构。而这个包正是基于这个结构,学会了,你就懂了。
还有,当你把这两个组合起来的时候,这项工作将会变得事半功倍。
机械式学习
最后,来到了这个部分。虽然我认为初学者应该等阵子才开始学(毕竟数据探索更加重要),但还是很重要,当你发现数据探索阻挡住你前进脚步的时候,你就需要新家伙了。
当你准备好学这个之后,R有些东西适合你。
学更多的工具和知识!
先弄清楚,你要学习更多的语言,就像工具箱里没有单一的最好的工具一样,同样没有一种语言能万能应对所有情况的。而当你精通R的这三样利器之时,你也就到了学习别的语言去对应各种场合问题的时候。
这里给你个学完R之后其他选择的快速浏览
.Python
这是个非常好的多任务编程语言而你应该在某些场合里用它。根据ORELLy的近期调查显示,这语言是第二热门的(在数据科学家中),它拥有非常好的可视化工具,也有很好的机械化学习能力,对于大多数人,这是第二门语言的选择。
.D3
我喜欢D3,它的可视化非常漂亮,而起互动性非常适合组建公告栏。我的成品并不非常完好的匹配上。对我来说,D3更多像是雕像工具一般,这是用来做非常优美的数据可视化工具,但是制作出来的东西并不会分析其中产生的冗余和各种情况,当你有非常多的对应客户端包含着新分析和近场联系
我非常乐观。对于所说的GGVIS会让R的用户做出高质量而美观可以互动的可视化。所以有的时候,R用户可以学GGVIS代替。Summary: LearnR, and focus your efforts
所以详细斟酌,挑好语言,当你开始的时候,R几乎是最好的选择,还有,要非常认真地学习技术。
另外,学习的时候千万不要就看些引人注目的。你就像是要去看那些新技术和工具的表现和阐述,只要看这些人们做的可视化数据和组织。看看别人做出来的大作(找出用啥做的)这会带着你去试试看新东西,信我这句,你需要集中,而不是被东西分散精力,你要画上数个月去深入学习一个工具。然后就像我说的,你确实需要建立起完整的技术于数据科学的洪流上。你需要有扎实的技巧,至少在可视化和组织上。你需要有能力去做些复杂的数据探索(用R)在你开始更深层的学习之前花100小时在R会学到比各自10小时在不同工具上学的好。最好,你的时间利用会因为你对目的的关心而非常高。不要被些吸引人的东西迷惑了。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师 出品 作者:李诗怡 一、数据分析四大思维 1. 对比思维:没有对比就没有分析 核心观点:单独一个数字没有意义,有 ...
2026-10-05Kimball 是方法,星型模型是它产出的形状。 很多人把"Kimball vs 星型模型"当成一道选择题——这本身就是个误会:Kimball 是动词 ...
2026-10-05写在开头 老板在微信上甩来一句: "帮我看下为什么销量跌了。" ” 你回工位,打开 SQL,开始写。查订单表、拉近三个月、按 ...
2026-10-03CDA数据分析师 出品 作者:李诗怡 1. 事实表 vs 维度表 对比维度 事实表 维度表 核心问题 记录“业务发生了什么事” 描述 ...
2026-10-02做数据聚合时,PySpark的groupBy()确实能完成统计,这也是它的本职工作。但它有一个根本性局限:每一组数据,最终只能返回一行 ...
2026-10-01热力地图是数据可视化中极具辨识度与实用性的空间分析图表,结合地理空间维度与数据密度特征,通过颜色深浅、色阶渐变直观展示数 ...
2026-09-30 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-09-30同样是“银行数据岗”,在国有大行总行数据中心、在一家城商行的零售部、在银行系金融科技子公司、在保险公司,工作内容、成长节 ...
2026-09-29在数据分析与统计学研究中,数据往往不是独立存在的,不同变量之间普遍存在相互关联、相互影响的关系。相关性统计分析是挖掘变量 ...
2026-09-29 导读:大多数人只把 dataclasses 当成偷懒工具,用来少写 __init__、__repr__ 这类魔法方法。但它的能力远不止于此。本文带 ...
2026-09-29 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-09-29在MySQL数据库运维与业务开发中,行业普遍存在“数据达到千万级就必须分表”的说法。但在实际生产环境中,千万条数据并不是强制 ...
2026-09-28CDA数据分析师 出品 作者:李诗怡 1. 5W1H 分析法 定义:经典系统性思维框架,通过六个核心维度对问题进行全方位拆解与剖析,确 ...
2026-09-28 很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当 ...
2026-09-28CDA数据分析师 出品 作者:李诗怡 1. 用户标签体系 定义: 通过一系列高度精炼的特征标识,对用户属性、行为与偏好进行量化刻画 ...
2026-09-24Pandas是Python生态中用于表格数据处理的核心库,广泛应用于数据清洗、统计运算、报表输出、数据分析建模等场景。在处理极大数值 ...
2026-09-24随着数字经济快速发展,数据已成为核心生产要素,各行各业的业务沉淀、用户行为、设备运行、市场交易均产生海量数据。数据处理作 ...
2026-09-24 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-09-24在时序数据分析中,大部分业务数据并非持续平稳变化,而是会在某些时间节点出现突然抬升、断崖下跌、趋势反转、波动异变等现象, ...
2026-09-23在统计学与数据分析中,研究多组数据差异最常用的方法为单因素方差分析与事后多重比较。很多数据分析初学者容易混淆两者功能,认 ...
2026-09-23