首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

dplyr:如何将字符串传递给dplyr的mutate参数

dplyr是一个在R语言中用于数据处理和操作的包,它提供了一组简洁且一致的函数,可以对数据进行筛选、排序、汇总、变形等操作。在dplyr中,mutate函数用于创建新的变量或修改现有变量。

要将字符串传递给dplyr的mutate参数,可以使用!!符号进行非标准评估(non-standard evaluation)。非标准评估允许我们在代码中使用字符串来表示变量名。

下面是一个示例,展示了如何将字符串传递给dplyr的mutate参数:

代码语言:txt
复制
library(dplyr)

# 创建一个数据框
data <- data.frame(x = 1:5, y = 6:10)

# 定义一个字符串变量名
var_name <- "z"

# 使用!!符号将字符串传递给mutate参数
data <- data %>%
  mutate(!!var_name := x + y)

# 打印结果
print(data)

在上面的示例中,我们首先加载了dplyr包,并创建了一个包含两列的数据框。然后,我们定义了一个字符串变量名var_name,并使用!!符号将其传递给mutate参数。在mutate中,我们使用:=运算符将新变量z定义为x和y的和。最后,我们打印出结果。

这是dplyr中使用字符串传递给mutate参数的一种方法。通过使用非标准评估,我们可以动态地创建变量名,从而使代码更加灵活和可扩展。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(TBCS):https://cloud.tencent.com/product/tbcs
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何将多个参数递给 React 中 onChange?

onChange 事件是一个非常有用、非常常见事件,用于捕获输入框中文本变化。有时候,我们需要将多个参数同时传递给 onChange 事件处理函数,在本文中,我们将介绍如何实现这一目标。...多个参数传递有时候,我们需要将多个参数递给 onChange 事件处理函数。例如,假设我们有一个包含两个输入框表单。每个输入框都需要在变化时更新组件状态,但是我们需要知道哪个输入框发生了变化。...当 input 元素发生变化时,我们调用 handleInputChange 函数,并将 inputNumber 和 event 对象作为参数递给它。...当 input 元素发生变化时,我们调用 handleInputChange 函数,并将 inputNumber 和 event 对象作为参数递给它。...结论在本文中,我们介绍了如何使用 React 中 onChange 事件处理函数,并将多个参数递给它。我们介绍了两种不同方法:使用箭头函数和 bind 方法。

2.3K20

来增加dplyr可操作性

dplyr包在数据变换方面非常好用,它有很多易用性体现:比如书写数据内变量名时不需要引号包裹,也不需要绝对引用,而这在多数baseR函数中都不是这样,比如: library(tidyverse)...这些函数在rlang包中有更加系统相同角色存在:parse对应函数是parse_expr(语句还重新变为字符串,使用expr_text)。...辅助dplyr完成编程工作 上面的例子中,之所以group_var不起作用,是因为dplyr直接将group_var当做变量名,然后去mtcars中寻找名字叫做group_var列,这肯定是会报错。...,首先map逐一将分组变量group_v元素传递给mean_manual函数,传入mean_manual时,先使用!!...PS:对于ggplot2而言也是一样,它aes也是不能直接使用变量传入列名,如果想要使用赋值了字符串变量来值的话,可以如上述操作。 但是也有更简单办法,它是?

2.3K31

「R」dplyr 列式计算

❝在近期使用 「dplyr」 进行多列选择性操作,如 mutate_at() 时,发现文档提示一系列dplyr」 函数变体已经过期,看来后续要退休了,使用 across() 是它们统一替代品,所以最近抽时间针对性学习和翻译下...原文来自 [dplyr 文档](Column-wise operations • dplyr (tidyverse.org "dplyr 文档")) - 2021-01❞ 同时对数据框多列执行相同函数操作经常有用...最后我们将简要介绍一下历史,说明为什么我们更喜欢 across() 而不是后一种方法(即 _if(), _at(), _all() 变体函数)以及如何将旧代码转换为新语法实现。...载入包: library(dplyr, warn.conflicts = FALSE) 基本用法 across() 有两个主要参数: 第一个参数是 .cols ,它用来选择你想要操作列。...对于 _if(),原来第二个参数包裹进 where() 对于 _at(),原来参数,如果有 vars() 包裹则移除 对于 _all(),使用everything() 例如: df %>% mutate_if

2.4K10

dplyr-cli:在Linux Terminal上直接执行dplyr

csv 不执行dplyr命令,仅将输入数据作为CSV输出到stdout kable不执行dplyr命令,而仅将输入数据作为 knitr::kable()格式字符串输出到stdout 其工作原理:dplyr-cli...‘dplyr版本,然后一系列执行参数。.../dplyr select --file mtcars.csv -c cyl | head -n 6 实例二:多个数据处理参数结合 创建名为 cyl2新一列,它值为 cyl两倍,再提取 cyl...将下面的alias放到你.bashrc中: alias mutate="dplyr mutate"alias filter="dplyr filter"alias select="dplyr select"alias...实例四:连接两个文件 作者提到该功能还不是很完善,主要缺陷有: 用于连接命令后第一个参数必须是现有文件,并且格式为(CSV或RDS) 不能通过 by连接指定参数,因此两个文件必须只有一个共同列才能链接

2K10

dplyr数据处理

一、筛选过滤行 filter() filter()函数用于筛选出一个观测子集,第一个参数是数据库框名称,第二个参数以及随后参数是用来筛选数据框表达式。...() select()函数用于筛选有用列,第一个参数还是数据库,第二个参数以及后面是需要列名,列名有多种书写方式,可以使用冒号作为范围,也可以使用 stars_with,ends_with...mtcars %>% dplyr::sample_n(10) mtcars %>% dplyr::sample_frac(0.2) 六、创建新变量 有时需要对已有变量进行重新计算,例如计算几列和...,会某一列取对数,这样将生成新变量,这个时候可以使用 mutate 函数。...mtcars %>% dplyr::mutate(mpg10 = mpg*10) x <- read.xlsx('2015.xlsx') x %>% dplyr::mutate(avg = Income

1.5K10

R语言综合应用-1

#这是一个字符串x#2.字符串拆分str_split(x," ") #以空格为分割符号将字符串拆分开,这个函数输出结果是一个列表x2 = str_split(x," ")[[1]];x2 #​y...xstr_remove(x," ")str_remove_all(x," ")二、数据框#1.arrange,数据框按照某一列排序library(dplyr)arrange(test, Sepal.Length...,数据框新增一列mutate(test, new = Sepal.Length * Sepal.Width)注意,这样操作结束后,test还是原来列数,因为没有给新赋值。...在R语言世界里,没有赋值就是没有发生过。#补充select()、filter() 筛选列、行类似于之前$,[]#管道符号(%>%),表示把前一步运算结果传递给后一步函数,不需要多次赋值。...CODE2}#2ifelse函数 ifelse(x,yes,no) #ifelse只有3个参数

90300

R语言之 dplyr

这个包以一种统一规范更高效地处理数据框。dplyr 包里处理数据框所有函数第一个参数都是数据框名。 下面以 MASS 包里 birthwt 数据集为例,介绍 dplyr 包里常用函数用法。...1.使用 filter( ) 和 slice( ) 筛选行 函数 filter() 可以基于观测值筛选数据框一个子集。第一个参数是数据框名,第二个参数以及随后参数是用来筛选数据框表达式。...4.使用 mutate( ) 添加新变量 函数 mutate( ) 用于在数据框中创建新变量。...传递操作符 %>% 将该符号之前对象传递给符号后面的函数并作为函数第一个参数值。...例如: c(2, 4, 6, 8) %>% matrix(nrow = 2) 因为 dplyr 包里面的函数第一个参数总是数据框,所以这些函数配合传递操作符处理数据框非常方便。

39820

数据处理|数据按从小到大分成n类

最近做项目遇到了一个实际数据清洗问题,如何将连续数据按从大到小分成n类?刚开始我是打算用tidyverse包,但是找不到合适函数。只能通过较为笨拙方法进行了。 ?...之后通过stackoverflow网站[1]进行查询才发现原来有这么好用窗口函数。 ? 较为笨拙方法 使用Rbase包中数据框操作进行,首先随机产生一个数据框作为模拟数据。...然后使用管道函数,利用函数ntile()构建新列,列名为q。或者不用通道函数,直接加载dplyr包也可以。...library(tidyverse) foo %>% mutate(q = ntile(b, 10)) # a b q #1 1 93.94754...noredirect=1 [2] tidyverse包: https://www.tidyverse.org/ [3] dplyr包: https://dplyr.tidyverse.org/

49820

R语言基础提升与总结

从今天起试一试先听课之后再跟着课件整理笔记方法~1 玩转字符串——stringr1.1 str_length 字符串长度区分字符型向量/字符串/字符y = c("jimmy 150","nicker...select(x1, Sepal.Length,Sepal.Width)x3 = arrange(x2,Sepal.Length)x1 x2为中间变量,无其他用途管道符号:%>%传递,简洁明了 把前一步运算结果传递给下一步函数...,作为这个函数第一个参数x = iris %>% filter(Sepal.Width>3) %>% select(Sepal.Length,Sepal.Width)%>% arrange(...x <- c(5,6,0,3)s = 0for (i in 1:length(x)){ s=s+x[[i]] print(c(x[[i]],s))}3.2.3 如何将for循环结果保存下来?...1, var)),1000)##用**tail函数**(从后面开始取)取最后1000个方差最大基因,默认参数是6不写,这里是1000,写上names(tail(sort(apply(test, 1,

15710

R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)

,后续参数是条件,这些条件是需要同时满足,另外,条件中取 缺失值观测自动放弃,这一点与直接在数据框行下标中用逻辑下标有所不同,逻辑下标中有缺失值会在结果中 产生缺失值。...指定变量名时不是写成字符串形式而是直接写变量名: d.class %>% distinct(sex, age) %>% knitr::kable() 如果希望保留数据框中其它列,可以加选项 keep_all...2.8 mutate 可以为数据框计算新变量,返回含有新变量以及原变量新数据框: mutate(test, new = Sepal.Length * Sepal.Width) > head(test,...也可以用来添加新列,结合我先前说过新增列种种方法,并且支持多个语句组成复合语句: > d.class %>% mutate(sexc = { + x <- rep(" 男", length(sex...对于即将合并新列,需要使用引号;但对于想要合并多个列名,可以不用使用引号。sep 参数设定多列合并后不同数据分隔使用分割符。

10.8K30

使用 R 语言从 PDF 文档中提取表格

由于一个知识星球小伙伴急需学习如何从 PDF 文档中提取表格,所以先插这个课,「使用 R 语言处理 netCDF 数据」系列课程下次再发新哈。...本课程介绍了如何使用 R 语言从 WHO(世界卫生组织)官网上下载新冠疫情每日报告以及如何从这些报告中表格里面提取数据。.../ 这个非常简单,我思路是直接获取网页中所有 标签 href 属性,然后过滤出链接中含 .pdf ,最后再用一个循环下载所有的 PDF 文件即可。...mutate(dest = str_match(value, "situation-reports/(.*)\\?")...因为电脑系统关系,我不好演示,大家可以自己研究下,不难。我这里提供几个 tips,Java 安装之后可能还需要进行环境变量配置。

3.5K10

Day07 生信马拉松-数据整理中R

.玩转字符串--stringr包 1.1 字符串长度-引号内单个字母/数字/符号数量 x <- "The birch canoe slid on the smooth planks." x str_length...str_detect(x2,"h") # 第一个参数为向量名,第二个是检测关键词 str_starts(x2,"T") #判断x2中T开头字符串,输出逻辑向量 str_ends(x2,"e")...#判断x2中e结尾字符串,输出逻辑向量 1.5 字符串替换 x2 str_replace(x2,"o","A") #每个元素里面只替换第一次出现目标字符 str_replace_all(x2,"o...--dplyr包 2.1 arrange,数据框按照某一列排序,实际参数不能加" " library(dplyr) arrange(test, Sepal.Length) #从小到大排序 arrange...2.3 mutate,数据框新增一列 test <- mutate(test, new = Sepal.Length * Sepal.Width) #R中修改必须要赋值,不赋值=没发生 test

21800

Day6——R包

BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") install.packages("dplyr")library(dplyr)dplyr五个基础函数示例数据...mutate()#新增列mutate(test, new = Sepal.Length * Sepal.Width)#新增一列数据为Sepal.Length与Sepal.Width积select()#...,select中不能直接使用字符向量筛选,需要使用one_of函数R语言中使用vars参数指定数据框中需要分析字段索引范围在R语言中,我们经常需要对数据框进行分析和处理。...这时,我们可以使用vars参数来指定需要分析字段索引范围,从而提取出感兴趣字段进行后续操作。vars参数是dply包中select函数一个参数,它允许我们通过指定字段索引范围来选择需要字段。...dplyr两个实用技能管道操作 %>%加载任意一个tidyverse包即可用管道符号#%>% (向右操作符,forward-pipe operator),就是把左侧准备数据或表达式,传递给右侧函数调用或表达式进行运行

14310
领券