R数据分析:如何在R中使用mutate

因为最近搞毕业论文,有点忙,加上还有好多粉丝咨询,临近毕业更新就很少了。

今天就写一个非常简单的文章,敷衍一下吧,哈哈哈。

今天要写的就是数据清洗的函数mutate(),这个属于超级基本的内容哦,一般我们拿到数据最头疼应该就是清洗数据了,所以清洗数据的基础一定要牢牢掌握。

还有,如果你想成为一名合格的分析师,其实你只要精通清洗数据就够了,我这么说一点都不夸张。

一个简单数据清洗任务常常包括:

  • 从数据中选择列

  • 设置数据行

  • 汇总数据

  • 汇总数据(计算汇总统计信息)

  • 排序数据

  • 创建新变量

本文就只写最后一个,即在R中使用mutate创建新变量。

mutate的基础知识

在开始之前,我们先谈谈dplyr。

dplyr是R中专门用于数据处理的包。更具体功能包括:

  • select() 从数据中选择列

  • filter() 数据行的子集

  • group_by() 汇总数据

  • summarise() 汇总数据(计算汇总统计信息)

  • arrange() 排序数据

  • mutate() 创建新变量

在大多数情况下,dplyr仅执行这些任务。dplyr出色的部分原因在于它“紧凑”。只有5或6种主要工具,并且非常易于使用。

mutate()如何用?

使用时,通常你只需要指定3项内容:

  • 您要修改的数据框的名称

  • 您将创建的新变量的名称

  • 您将分配给新变量的值

还是给大家举个例子:看下图,mutate()的第一个参数就是数据框,然后就是新变量名=旧变量的某种新式。就是说你可以轻松地以数据框中的原有变量生成新变量。

但是这个函数只能用于数据框,不能在列表,矩阵,向量或其他数据结构中使用。

注意,mutate()的第二个参数是“名称-值”对,就是说我们在创建变量时新变量需要一个名称,但是它也需要一个分配给该名称的值。因此,当使用mutate时,您需要提供名称和新值…即名称/值对。

我们再次看一下刚刚的语法示例:

那么在上图中我们是要创建一个名为new_variable的新变量。分配给new_variable的值为existing_var乘以2的值。在此示例中,变量existing_var为原本就存在于数据框df当中的。

就是这么简单。

实例操作

为了加深大家的印象,还是给大家一个实例

library(dplyr)
library(ISLR)

我们使用ISLR包中的Auto数据框给大家演示。

在我们对数据进行实际操作之前,让我们先瞅一瞅它长啥样。

print(Auto)

打印出来时,您会发现数据数据框排列的有些杂乱,我们可以将它转化为tibble打印效果更好。tibble实际上是修改后的数据框。它的优点之一是它们以更好的格式打印出来。

auto_specs <- as.tibble(Auto)
print(auto_specs)

这样好多了。

您可以看到,当我们现在打印出来时,tibble结构更具可读性。

好了。比如我现在需要一个新变量叫做hp_to_weight,这个变量是原先horsepower / weight两个变量的比值,我们就可以用使用mutate()写出如下代码:

auto_specs_new <- mutate(auto_specs, hp_to_weight = horsepower / weight)
print(auto_specs_new)

可以看到新的变量已经在auto_specs_new这个数据框中了。在R中使用mutate()就是这么简单。

小结

(0)

相关推荐

  • dplyr函数

    主要包含两个变量: select()#选取某一列 mutate()#添加一列 配合select()进行使用的函数: starts_with()         ends_with()          ...

  • 初学《R数据科学》之——tidyverse是什么

    初学<R数据科学>之--tidyverse是什么 写在前面 在学<R数据科学>这本书之前,首先要知道,这本书不是讲各种类型的图用R是怎么做出来的,而是通过一些示例来讲解如何用R ...

  • 《R数据科学》第3章——dplyr是什么

    写在前面 dplyr是R语言中为数不多的,也是最好用的数据清洗R包,这也是hendly团队的核心产品,承载着在数据到绘图或者分析过程的桥梁.其中包含的函数超过100条,值得我们花费很长的时间一步步学习 ...

  • R学习 从Tidyverse学起,入门R语言(tibble,readr和dplyr)

    R学习往期回顾: R学习:字符串 R学习:环境和函数 R学习:数据框的基本操作 R学习:R for Data Science(五) R学习:R for Data Science(四) R学习:R fo ...

  • 用R为数据分析插上翅膀

    " No one konws everything, and you don't have to."   --科白君 "R数据分析"专题·第1篇   编辑 |  ...

  • R语言dplyr包实操

    R语言dplyr包实操

  • R语言简单for循环

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. 简单for循环  创建一个简单数据框 1Sys.setlocale('LC ...

  • R语言 | 数据操作dplyr包

    [更新~] Python网络爬虫与文本数据分析 dplyr简介 dplyr是R语言的数据分析包,很像python中的pandas,能对dataframe类型的数据做很方便的数据处理和分析操作.最初我也 ...

  • R学习:R for Data Science(四)

    前面我们学了该书得第一章节,使用ggplot2进行数据可视化,现在我们开始学习第二章节,本章节内容丰富,值得收藏! R学习:R for Data Science(一) R学习:R for Data S ...

  • R语言 | 数据操作tidyr包

    [更新~]Python网络爬虫与文本数据分析 tidyr包 类似于上图成行成列的表数据是干净数据(tidy data),一般每一行表示一条观测记录,每一列表示一个字段(变量)tidyr包是用来操作ti ...

  • dplyr总结篇

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. dplyr-总结  有必要对dplyr进行一个总结 对行处理 数据处理对于 ...