什么是R语言?

R语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R本来是由来自新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发(也因此称为R),现在由“R开发核心团队”负责开发。R基于S语言的一个GNU计划项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行。R的语法是来自Scheme。

R的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同时有人开发了几种图形用户界面。

R的功能能够通过由用户撰写的包增强。增加的功能有特殊的统计技术、绘图功能,以及编程接口和数据输出/输入功能。这些软件包是由R语言、LaTeX、Java及最常用C语言和Fortran撰写。下载的可执行文件版本会连同一批核心功能的软件包,而根据CRAN纪录有过千种不同的软件包。其中有几款较为常用,例如用于经济计量、财经分析、人文科学研究以及人工智能。

Python与R语言的共同特点

Python和R在数据分析和数据挖掘方面都有比较专业和全面的模块,很多常用的功能,比如矩阵运算、向量运算等都有比较高级的用法

Python和R两门语言有多平台适应性,linux、window都可以使用,并且代码可移植性强

Python和R比较贴近MATLAB以及minitab等常用的数学工具

Python与R语言的区别

数据结构方面,由于是从科学计算的角度出发,R中的数据结构非常的简单,主要包括向量(一维)、多维数组(二维时为矩阵)、列表(非结构化数据)、数据框(结构化数据)。而 Python 则包含更丰富的数据结构来实现数据更精准的访问和内存控制,多维数组(可读写、有序)、元组(只读、有序)、集合(唯一、无序)、字典(Key-Value)等等。

Python与R相比速度要快。Python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。

Python是一套比较平衡的语言,各方面都可以,无论是对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理,Python都有着明显优势。 而R是在统计方面比较突出。

Python的pandas借鉴了R的dataframes,R中的rvest则参考了Python的BeautifulSoup,两种语言在一定程度上存在互补性,通常,我们认为Python比R在计算机编程、网络爬虫上更有优势,而 R 在统计分析上是一种更高效的独立数据分析工具。所以说,同时学会Python和R这两把刷子才是数据科学的王道。

要赶上这趟快车不容易,尤其是对于非专业出身的小白来说,面对一堆代码就已经万脸懵逼了,还怎么可能成为Python大牛?

今天就为您精心推荐几本R语言与python入门及数据分析的书籍,只要开始,就不怕晚!

开始之前,为想学习python的朋友推荐下之前的两期书单,反响不错,需要的朋友可以看一看:

Python书单,不将就

你眼中的Python大牛必备书单

一、R语言实战(第二版)

(点击链接,即可下载)

推荐理由:注重实用性,是一本全面而细致的R指南,高度概括了该软件和它的强大功能,展示了使用的统计示例,且对于难以用传统方法处理的凌乱、不完整和非正态的数据给出了优雅的处理方法。

二、Python编程:从入门到实践

(点击,直接下载)

推荐理由:上到有编程基础的程序员,下到10岁少年,想入门Python并达到可以开发实际项目的水平,本书是读者优选!

三、数据科学实战手册 R+Python

(点击链接,即可下载)

推荐理由:本书涵盖R和Python两种主流语言,其优点在于其结构,每一章的每一节内容都是按照“准备工作—处理流程—工作原理”的方式组织,这种组织形式非常适合一边实践一边学习(learn-by-doing)。

四、Python金融大数据分析

(点击链接,即可下载)

推荐理由:唯一一本详细讲解使用Python分析处理金融大数据的专业图书;金融应用开发领域从业人员必读。

五、Python数据科学指南

推荐理由:本书从讲解如何在数据科学中应用Python开始,陆续介绍了Python的工作环境,如何用Python分析数据,以及数据挖掘的概念,然后又扩展到机器学习。本书还涵盖了缩减原则、集成方法、随机森林、旋转森林和超树等方面的内容,这些都是一个成功的数据科学专家所必需掌握的。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐