Class 01 - R语言介绍及部分功能演示
- 教程介绍
- 功能演示
- 数据导入
- R语言&Python对比
- 在数据科学中的不同优势
教程介绍
在本章中,将学习到编程的新概念,以及如何使用R语言来做数据的分析。
我们先谈谈计算机编程吧,计算机编程是指向计算机发出指令以执行一个或一组操作。可以使用不同的编程语言来编写这些指令。也可以根据想要从事的项目或想要解决的问题选择特定的语言。在数据分析中python和R语言是最常用的语言。
R编程语言在组织、清理和分析数据方面非常有用。如果这是你第一次接触计算机编程,R是一个很好的起点。
当我第一次开始学习数据分析时,我也没有编程的背景。不过我是先接触的Python语言,之后再学习的R语言。其实也有很多朋友从其他领域进入到这个领域,也都是后来才学习的编程语言如R或者Python。
第一次学习R语言可能会有一定的挑战性,但是当你真正开始学习之后,会觉得其实也并没有那么难,在分析数据方面R语言用起来其实会更简单。
本章是对R语言的一些介绍,帮助你了解R语言的用途。之后会逐渐学习到更多的R语言技能。一步一步来,按自己的节奏走。只要多加练习都没有问题的。
学习R语言能够让你在数据分析中更进一步。当你学会了R语言之后,在去学习其他的编程语言时,会发现其实有很多理念都时相通的,会帮助你更快的掌握其他的编程语言。(建议可以在学习python,因为在更高级的机器学习,深度学习中,用python会更方便一些)
在学习了R语言之后,你会发现在日程的工作学习中有很多地方可以用到编程的技能。它开启了一个充满可能性的新世界。
R语言学习进程:
先从介绍编程语言开始;然后,将研究R本身,并探索其主要特性和功能,还将介绍一些基本的编程概念,并学习如何在R中有效地使用它们;接下来,将学习如何在R中使用数据。你将发现R如何增强你的数据分析技能,并以更强大的方式清理,转换,可视化和报告数据。
功能演示
当我刚开始学习R语言时,它的视觉效果是真的很漂亮,功能也很强大。你可以写一点代码,然后,就会得到一个很棒的数据可视化效果。下面的内容将是你将要学习的内容的预览。在这套R语言教程学习完后,你不仅可以理解所有这些代码,还可以编写和执行这些代码。
数据导入
让我们首先加载一个库并获取要使用的数据集。这次使用的是帕尔默企鹅数据集,其中包含生活在南极洲帕尔默群岛的三种企鹅的尺寸测量。这包括身体质量(body mass)、鳍长(flipper length)和喙长(bill length)等数据。该数据集有344行信息,分为8列。我们会在以后的课程中看到更多这样的数据集。
# 安装下载数据包
install.packages('palmerpenguins')
# 导入 数据包
library('palmerpenguins')
假如我们想可视化身体质量和鳍长之间的关系。一般我们可能会猜到企鹅越大,脚蹼就越长。下面我们就通过制作一个散点图来显示两个变量之间的关系。
这两个变量是用来比较我们的体重和鳍长。现在不需要记这些代码等。后面还会一个一个的详细讲到这些代码,现在只是演示一下强大的可视化功能。
首先要加载画图的工具包ggplot2,然后绘制一个散点图。
# 安装ggplot2
install.packages('ggplot2')
# 加载ggplot2
library('ggplot2')
#绘制散点图
ggplot(data = penguins,aes(x=flipper_length_mm,y=body_mass_g)) + geom_point()
这是一个完整的绘图函数,可以看到这个函数从+号分开有前后两个部分 ggplot() 和 geom_point() 构成,下面我们之运行一个ggplot()来看一下会得到什么样的图形。
ggplot()
运行代码,我们得到的只是一个空白的图。
如果我们添加更多的代码,R将在我们的plot的每次访问上添加标签,并为数据添加线条。
ggplot(data = penguins,aes(x=flipper_length_mm,y=body_mass_g))
身体质量在y轴上,鳍长在x轴上,但数据点还不可见。
为了得到完整的图,我们可以添加一些代码来告诉R如何表示我们的数据,如前面完整的图表代码一样,在后面添加 + geom_point() 来告诉R我们要绘制的是一个散点图。
但是画出来的图都是黑的看起来太单调了,这时我们可以通过color来设置数据点的颜色。
如所有点的颜色都换成红色。
ggplot(data = penguins,aes(x=flipper_length_mm,y=body_mass_g)) + geom_point(color='tomato')
可以在geom_point()的括号中加入color=“tomato”,现在输出的图像就是红色的点。
我们还可以添加新的信息,通过不同的颜色来区分企鹅的类别,我们可以把color设置为species,告诉R按企鹅种类分配不同的颜色。这样我们就可以看到企鹅的分类数据了。
ggplot(data = penguins,aes(x=flipper_length_mm,y=body_mass_g)) + geom_point(aes(color=species))
图右边的图例告诉我们,蓝色(Gentoo)是最大的。这样能更直观的看出来数据所包含的信息。而且图形的配色也是让人看起来很舒服美观的。
我们还可以用形状来突出不同的企鹅种类。
ggplot(data = penguins,aes(x=flipper_length_mm,y=body_mass_g)) + geom_point(aes(shape=species))
我们还可以同时使用颜色和形状来对企鹅进行分类展示。
ggplot(data = penguins,aes(x=flipper_length_mm,y=body_mass_g)) + geom_point(aes(shape=species,color=species))
除了突出显示我们的数据,我们还可以对其进行重组。
除了可以对数据进用颜色或者形状来区分分类,还可以把数据切分为多个子图,每一个子图展示一个分类数据。比如我们还是按照分类来区分数。
ggplot(data = penguins,aes(x=flipper_length_mm,y=body_mass_g)) + geom_point(aes(shape=species,color=species)) + facet_wrap(~species)
通过添加facet_wrap()函数让我们为以不同的企鹅类别创建一个单独的图。
前面虽然用颜色把类别区分了出来,但是数据还是混在一起展示的,红色和绿色的数据相互交叉很难看出来其中一个数据的单独样子。现在我们把数据都单独的绘制一个子图来展示,这样能更清晰的查看数据。
我们还可以在图表中添加文本,设施标题。
ggplot(data = penguins,aes(x=flipper_length_mm,y=body_mass_g)) + geom_point(aes(shape=species,color=species)) + facet_wrap(~species) + labs(title="不同种企鹅数据")
最后在图形绘制完成后,我们还可以保存绘制好的图形,方便我们做分析报告,或者ppt的时候来用。
在右下绘图区域,点击Export,就可以直接把图保存成图片或者是PDF格式。
在选择保存图片时,还有多种图片格式供你来选择,基本能够满足日常使用的全部图片格式。如:PNG,JPEG,TIFF 等
好了,展示到底结束。
希望你能够更加想要学习R。随着学习的深入,还有更多好看的图表等你来绘制。
R语言&Python对比
人们经常想知道他们应该先学习哪种编程语言。你可能也在想这个问题。R语言是基础数据分析的一个很好的起点,它有初学者可以应用于项目中非常有用的包。在学习R语言后建议也学习Python。如果你对其他编程语言感到好奇,请尽一切努力继续学习。
初学者开始学习的任何语言都会有一些优势和挑战。通常在数据分析使用的编程语言中都会那R语言和Python来比较。下表是这两个编程语言的一部分比较信息。
其实在网络上一搜索都会有很多这方面的信息,尤其在刚开始学习编程的时候,会纠结到底先学习Python还是R语言,相知道哪一个更容易学,上手更快。其实python和R语言,都不难学,在数据分析的工作中这两种语言都有各自的优势,我们只需要选择一喜欢的,学下去就可以了,当你学会了其中一个再去学习另一个的时候,会发现他们有很多地方是相通的,学习第二个的时候会特别的快。
基本功能的比较:
编程语言 | R | Python |
---|---|---|
共同特性 | - 开源 - 以数据帧形式存储的数据 - 公式和函数随时可用 - 代码开发和支持社区 | - 开源 - 以数据帧形式存储的数据 - 公式和函数随时可用 - 代码开发和支持社区 |
优势 | - 数据操作、数据可视化和统计软件包 - 统计分析方面 | - 简单的语法,机器学习的需要 - 与云平台集成,应用范围更广 |
在数据科学中的不同优势
关于这个话题有很多热烈的讨论,但也有一些很棒的、有思想的文章。一些人认为Python更适合作为通用编程语言,而另一些人则认为数据科学最好由专门的语言和工具链来服务。对这两种语言的起源和发展轨迹进行比较和对比,往往是为了支持不同的结论。
对于个人数据科学家来说,需要考虑以下几点:
- Python是一种很棒的通用编程语言,有许多专门用于数据科学的库。
- 许多(如果不是大多数的话)通用编程入门课程现在开始使用Python进行教学。
- Python是许多ETL和机器学习工作流的首选语言。
- 现在很多(如果不是大多数的话)统计学和数据科学的入门课程都教授R语言。
- R已经成为世界上最大的统计知识库,有数千甚至数万种算法的参考实现,这些算法已经经过专家的审查。许多R包的文档都包含指向该主题主要文献的链接。
- R的入门门槛非常低,可以进行探索性分析,并将其转换为出色的报告、仪表板或API。
- R和RStudio通常被认为是进行探索性数据分析的最佳场所。