前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言第二章数据处理⑤数据框列的转化和计算目录正文

R语言第二章数据处理⑤数据框列的转化和计算目录正文

作者头像
用户1359560
发布2018-12-25 15:19:12
4K0
发布2018-12-25 15:19:12
举报
文章被收录于专栏:生信小驿站生信小驿站

正文

本篇描述了如何计算R中的数据框并将其添加到数据框中。一般使用dplyr R包中以下R函数:

Mutate():计算新变量并将其添加到数据表中。 它保留了现有的变量。 Transmutate():计算新列但删除现有变量。 同时还有mutate()和transmutate()的三个变体来一次修改多个列: Mutate_all()/ transmutate_all():将函数应用于数据框中的每个列。 Mutate_at()/ transmutate_at():将函数应用于使用字符向量选择的特定列 Mutate_if()/ transmutate_if():将函数应用于使用返回TRUE的谓词函数选择的列

  • mutate:通过保留现有变量来添加新变量,通过保留现有列来添加新列(sepal_by_petal):
library(tidyverse)
my_data <- as_tibble(iris)
my_data
my_data %>% 
  mutate(sepal_by_petal_l = Sepal.Length/Petal.Length)
  • transmute:通过删除现有变量来创建新变量,删除现有列,添加新列(sepal_by_petal):
my_data %>%
  transmute(
    sepal_by_petal_l = Sepal.Length/Petal.Length,
    sepal_by_petal_w = Sepal.Width/Petal.Width
    )
  • 一次修改多个列

函数mutate_all()/ transmutate_all(),mutate_at()/ transmutate_at()和mutate_if()/ transmutate_if()可用于一次修改多个列。

简化格式如下:

# Mutate variants
mutate_all(.tbl, .funs, ...)
mutate_if(.tbl, .predicate, .funs, ...)
mutate_at(.tbl, .vars, .funs, ...)

# Transmutate variants
transmute_all(.tbl, .funs, ...)
transmute_if(.tbl, .predicate, .funs, ...)
transmute_at(.tbl, .vars, .funs, ...)

tbl:一个tbl数据框 funs:由funs()生成的函数调用列表,或函数名称的字符向量,或简称为函数。predicate:要应用于列或逻辑向量的谓词函数。 选择predicate为或返回TRUE的变量。

  • 转换特定列

mutate_at():转换按名称选择的特定列:

my_data2 %>%
  mutate_at(
    c("Sepal.Length", "Petal.Width"),
    funs(cm = ./2.54)
    )
  • mutate_if():转换由谓词函数选择的特定列。
  • mutate_if()对于将变量从一种类型转换为另一种类型特别有用。
# 将所有因子列转化成字符
my_data %>% mutate_if(is.factor, as.character)
# 将左右数字列四舍五入
my_data %>% mutate_if(is.numeric, round, digits = 0)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.12.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档