R数据科学(dplyr)
如今数据分析如火如荼,R与Python大行其道。你还在用Excel整理数据么,你还在用spss整理数据么。
数据分析的基础:Data Clean
数据清洗是数据处理的必备工作,而且往往需要花费大量时间去整理,去提取想要的数据,因为画图,报表都需要特定格式的数据。
EXCEL缺点:
· 数据粘贴复制,导致存在很多副本,更改都不知道原来数据有没有被改动
· 数据排序,计算,鼠标点击,容易误操作。
· 忘记保存,白费时间
· 效率低,时间长
现在,我们将学习对处理数据有用的两个软件包:
1. dplyr是用于简化表格数据操作的软件包。
2. tidyr使您可以在不同的数据格式之间快速转换。
两个软件包中的命令都可以与管道函数(%>%)很好地配合使用,这可以使代码更具可读性。详细内容可参考Cheatsheet手册。
image.png
image.png
1.数据框格式(DataFrame)
一般,我们的excel包括行(col)与列(row),在R语言中,经常对excel操作的对象称之为Dataframe,那么在进行数据查看时候,R语言可以看到数据结构。但是往往会打印出来很长,tidyr中的tibble就解决了此问题,直接简单的看到数据结构及变量类型。
class(mtcars)可以查看数据的类型,为"data.frame";mtcars就可以看到全部的数据了。但是如果数据太多,那么就很不方便。
head(mtcars),可以看到数据的前面6行,属于数据的一个预览。但是看不到各个列的属性。
%>%管道函数,其实就是将f()写在了数据的后面,下面示例的两个操作,都得到df,效果一样。只不过 %>%看起来更简单,将mtcars赋予新的tibble。
df以后的输出,很简洁,能看到32*11的数据行与列,也能看到各列的属性。一目了然
2.数据-变量提取及产生
我们经常会用到,只需要里面的几个变量,不是所有的变量都输出。那么就涉及到变量的提取。就会用到select函数,可以提取需要的变量。有一个好处就是,不修改原是数据。
那如果新产生一个变量mpg1=mpg,或者new=mpg*cyl,就用到mutate函数,产生新变量。
3.数据-变量条件筛选
dplyr::filter()函数对上述新产生的变量的数据df,进行筛选。只要符合am=1给提取出来,或者对符合am=1,gear=4条件的输出。
5.数据分组计算
有时候,需要分组计算均值标准差,或者看gear不同水平下的最大值最小值,那么就用到group_by()与 summarise() 函数。
譬如,对不同gear计算mpg的均值及标准差。或者根据am及gear分组计算mpg均值标注差。
6.数据转换
有时候,处理数据时候,需要对变量类型进行转换,譬如字符串,因子及数值类型相互转换,上述数据里面dbl 意思是数值类型(double class)我们现在产生新的字符串chr及因子fct。使用mutate函数。可以看到mpg1与new都变成了chr与fct。
提取new,看一下。
有时候,会需要将连续性的变量,转换成分类变量。这时候就需要用到ifelse函数(转换成二分类变量),或者cut函数转换成多类别变量。代码如下