迅速入门二十一世纪必备技能包-R语言!

2021-05-13 17:10:32 浏览数 (1)

当今,数据成为工作生活中不可或缺的一个重要组成部分。无论作为一名专业的数据分析师,亦或是各行各业的从业人员,面对形形色色的数据,你需要掌握一门专门用于统计分析建模的数据分析软件。本次有范君推荐给大家一款热门的数据分析软件-R语言。

相对于其他工具,R语言有其独特的优势:

一、对于初次接触一种工具的同学们,往往因为难以入门而导致最终的放弃。然而,R语言入门容易,面向人群无门槛,无论你是专业人员还是业余小白,通过几行简单的命令,便可以建立模型,或是绘制精美图像。

二、支持广泛,作为开源软件,其后备团队庞大。用于分析建模的独立程序包众多,并且帮助文档齐全。

三、功能强大,作为一门编程语言,应用它可以做到编程可以实现的一切模块,并且它所具备的不同领域的安装包几乎可以满足你一切统计工作的需求。

R语言的优势和重要性十分明显,那么,我们立刻回到R语言入门的正题。经常有同学问,我如何学好一门语言?为何,你苦苦亲手编写数月代码,孜孜不倦的学习从入门到精通秘籍,到最后,确直接跳到放弃那一步?那么有范君告诉你,很多时候,问题在于你是否学以致用!这里我们将学习一门语言分为两个步骤:学、用。

“学”阶段,需明确学什么?学多长时间?

学什么,其重点目标在于学习基础,成功入门,打开这扇门,你才可以自由的去选择实用的板块。本编文章,重点目标也是带读者入门,为接下来的学习做一个软件应用的基础。

学习时间,唯快不破。学习之所以枯燥无味,没有某音或是某者荣耀吸引人。那是因为学习的反馈时间长,这个时间甚至可以长到你都看不到反馈。所以,越快越好,重点花费时间快速入门即可。这个问题就很严重了,谁不愿意很快的学习完呢?可现实不允许啊!这就需要找到有经验的人带着你快速入门,哪有什么岁月静好啊,总有人已经负重前行了。同学们问,这样的人去哪里找?咳咳,左上角来一波关注哈。

“用”阶段,需结合实际的问题,项目。进行交互产出。

针对实际遇到的问题,千方百计寻找帮助解决掉,然后,等待着就是不断的进步,逐渐地精通,否则继续投入时间去逐一学习,等待着很可能就是枯燥无味直至放弃。毕竟每一门语言,历史积累下来的财富那么多,如果逐一精通,其一精力不允许,其二真的没有必要。当然,后续本公众号也会不断地为读者分享机器学习的相关知识,再学习中顺便精通R语言。

明确学习路线之后,我们正式开始学的第一步,入门。万事开头难,我们把一门语言的入门比喻成玩一个新的游戏,这样帮助同学们尽快入门,因为可能大部分同学入门一个游戏还是比较快速的。

第一步:下载游戏:安装软件

欲习此篇,必先安装。安装R语言的步骤十分简单。官网操作一波即可。首先进入R语言官网:https://www.r-project.org/。选择Download R -> China -> Download R for System(你的操作系统) -> install R for the first time ->选择版本。进入下载时间,下载完成后进行安装,没有任何需要注意的地方,一路安装即可。

安装之后,打开看看,喏,就是下面这样的界面,十分简洁。

那么玩过大型游戏玩家,一般会再下载一个游戏辅助工具,比如游戏盒子之类的。同理,R语言也有辅助工具。这里推荐一款主流的R语言编辑器RStudio(当然不用辅助工具也完全可以),这款编辑器划分清晰,对初学者,特别是使用过Matlab的同学十分友好。下载RStudio同样官网走一波:https://www.rstudio.com/。Download RStudio -> FREE版本直接拉到最下面,点击DOWNLOAD NOW -> 选择系统对应版本即可。进入下载时间,然后一路安装,无特殊注意步骤,安装完成后打开可见如下界面。到这里,我们完成第一步,安装工作。

第二步:熟悉角色:数据结构

下载游戏之后,那么接下来你需要熟悉一下这个游戏你可操作的角色或者一些其他对象。对应过来,我们需要熟悉在R语言中可以操控的对象,及各种数据结构。作为入门玩家,我们暂时熟悉常用角色,对于一些冷门的角色,随着我们等级提高再行操作。

数组:array()。顾名思义,数字的组合哈。对于数组其实并不常用,但是数组有别名称为多维数组,意思就是说数组可以有很多维度。那么最常见的一维数组和二维数据的表现形式就是我们R语言中最常用的两种数据类型了。

一维数组的替代:向量:c()。向量是一维数据,这些数据的类型不限,可以是整数,小数,字符等等。下面是定义一个向量的实例。

代码语言:javascript复制
VectorExample <- c(1, 2, 'apple')
print(VectorExample) 

> print(VectorExample)
[1] "1" "2" "apple"

二维数组的代替:数据框:data.frame()。其实对于二维数组的代替还有一个数据结构就是矩阵(matrix()),我们这里暂时略过矩阵,是因为数据框在R语言中更为常用一些。数据框就是有列名称的二维数组。它类似Excel的表格结构。下面是定义一个数据框的实例。

代码语言:javascript复制
DataFrameExample <- data.frame(ColName = c(1, 2, 'apple'))
print(DataFrameExample) 

> print(DataFrameExample)
  ColName
1       1
2       2
3   apple

当然还有一些其他的数据结构,例如因子,列表等等。我们暂且不用着急,这次我们只需要熟悉这两个的数据结构。

第三步:游戏操作:基本语句

熟悉了游戏中可以操作的对象,下一步就要进入新手导引,进行基本操作。我们来看这些数据结构的基本操作。

首先在编写程序之前,先确定工作目录,如果当前工作目录不是我们希望的位置,我们需要指定一下工作目录,这样我们就明确接下来的操作在哪里运行,心里很稳妥(随着学习的加深,我们逐渐摆脱这种方式,使用相对目录来替代绝对目录)。所以学习第一个操作,更改工作目录:

代码语言:javascript复制
getwd() #获取当前工作目录
setwd("path/to/code") #设置工作目录 例如setwd("D:/A_TechnologyScience/R/code")

第二个操作,赋值:"<-"和"="均是可以的。根据个人习惯吧,当然了,为了显示专业,有范君一般用"<-"。

在实际操作中,主体数据一般都不是我们定义出来,而是从其他数据储存文件读进来,那么第三个操作,读取CSV和TXT数据,本文数据详见https://github.com/ncepumas/A_TechnologyScience/tree/master/R:

代码语言:javascript复制
ExampleReadCsv <- read.csv("../data/Example.csv")
ExampleReadTxt <- read.table("../data/Example.txt",header = TRUE)
print(ExampleReadCsv)
print(ExampleReadTxt)

> print(ExampleReadCsv)
    学历 男生 女生
1 小学生   10   15
2 中学生   20   27
3 大学生   25   35
4 研究生   37   21
5 博士生   16   20
> print(ExampleReadTxt)
    学历 男生 女生
1 小学生   10   15
2 中学生   20   27
3 大学生   25   35
4 研究生   37   21
5 博士生   16   20

是不是超级简单,读就可以了。当然这里你需要注意,在你的工作目录中需要有这两个文件,没有可不能读的。对于其他类型文件的读取,例如Excel,数据库中的数据,我们后续扩展。

在我们设定的工作目录读取了我们的示例数据,那么,必须进行一波分析,既是介绍的最后一个操作,总结:summary()。

代码语言:javascript复制
summary(ExampleReadCsv)

>summary(ExampleReadCsv)
     学历        男生           女生     
 博士生:1   Min.   :10.0   Min.   :15.0  
 大学生:1   1st Qu.:16.0   1st Qu.:20.0  
 小学生:1   Median :20.0   Median :21.0  
 研究生:1   Mean   :21.6   Mean   :23.6  
 中学生:1   3rd Qu.:25.0   3rd Qu.:27.0
            Max.   :37.0   Max.   :35.0 

summary()在R语言中十分强大,基本万物皆可summary,当你不知到这个对象是什么,你就对它进行一下总结。可能就会得到启发你的结果。对于数据框对象,summary()会返回每数字列的统计特征(最小值,中位数等等),每因子列的因子个数(例如学历列)。

这样,我们学习了四个操作,改变工作目录,在其目录读取数据并将读取内容赋值给变量,最后还给出这些数据的统计特征。啊,谁还敢说你不会数据分析?谁要敢说,你就不要在意哈。

第四步:查看攻略:帮助方法

对于一个刚刚熟悉的游戏,你想进阶称为骨灰级玩家。不查攻略,不找人带,不入工会怎么行呢?所以任何一门语言,你必须掌握它的帮助语言,对于R语言其帮助语句是:help()/?。看下面里实例。

代码语言:javascript复制
help(summary)
?summary

运行以上语句,RStudio右下角区域出现以下内容,就是summary的帮助信息。

帮助信息主要由描述,用法,参数,细节,返回值,示例构成。

当然,可能你看了这份帮助,对于某些函数的用法还是一知半解,这时候无需慌张,R语言的广泛应用型,使其有大量的帮助信息,打开你的网站,直接将函数或者错误信息输入,往往可以得到答案。如果仍不得头绪,那么可以登录关于R语言的Github网站:https://github.com/topics/r,寻找具体包的详细教程,当然,这需要你有一些英语的基础。

第五步:卸载游戏:回归学习

好吧,到了这样,你就可以将游戏卸载了。希望卸载的不是R语言。既然已经成功入门R语言了,那么必须乘胜追击,着手做一些小实验,小项目来练练手了。哪里练?不要着急,关注我,点个好看,来个转发,有范君带你继续飞。

0 人点赞