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

R dplyr -以字符串的形式获取变量名

R dplyr是一个在R语言中用于数据处理和数据操作的包。它提供了一组简洁且一致的函数,可以帮助用户对数据进行筛选、排序、汇总、变形等操作。

在dplyr中,可以使用字符串的形式获取变量名。这在某些情况下非常有用,特别是当变量名是动态生成的或者包含特殊字符时。

要以字符串的形式获取变量名,可以使用dplyr中的{{}}操作符。这个操作符可以将字符串转换为变量名,并在dplyr函数中使用。

下面是一个示例,展示了如何使用字符串的形式获取变量名:

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

# 创建一个数据框
df <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  age = c(25, 30, 35)
)

# 定义一个函数,根据变量名筛选数据
filter_by_name <- function(df, var_name, value) {
  df %>%
    filter({{var_name}} == value)
}

# 使用字符串的形式调用函数
filtered_df <- filter_by_name(df, "name", "Alice")

在上面的示例中,我们定义了一个filter_by_name函数,它接受一个数据框、一个变量名和一个值作为参数。在函数内部,我们使用{{var_name}}将字符串"name"转换为变量名,并在filter函数中使用。

这样,我们就可以通过字符串的形式获取变量名,并在dplyr函数中使用。这种方法可以帮助我们更灵活地处理数据,并且避免了硬编码变量名的问题。

推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

122-R可视化40-以ggplot对象的形式进行图层叠加

• patchwork (data-imaginist.com)[1] Drawing with and on plots • cowplot (wilkelab.org)[2] 前言 在[[111-R可视化...35-结合grid与ggplot输出]] 与[[116-R可视化36-把你长长的坐标轴弄短]] 中,我们提过:通过pushViewport控制画布位置的方法,我们可以画出: 但美中不足的一点是,因为其并非是在一个...patchwork" "inset_patch" "gg" "ggplot" > class(pp_cow) [1] "gg" "ggplot" 在[[108-R可视化...有意思的是,这里打印的结果并非是insert 部分,也就是说,patches 部分实际存放的是背景部分的“主图”: 不过这也和patchwork 的风格一致,比如: pp 的摸索了一下,发现还是缺乏对ggplot 对象的理解,留给以后深挖了。

1.5K20
  • 《高效R语言编程》6--高效数据木匠

    使用变量名非标准化求值更高效,见R语言 dplyr传递参数_自由 平等~忠诚 奉献-CSDN博客[2]。只是函数名多了个下划线那么简单吗?...与基本R中类似函数不同,变量无需使用 $ 操作符就可直接使用,设计与magrittr包的%>%管道操作符一起使用,以允许每个数据阶段写成新的一行。其是一个大型包,本身可以看成一门语言。...unlist()函数的作用,就是将list结构的数据,变成非list的数据,即将list数据变成字符串向量或者数字向量的形式。...,数据库是从硬盘中获取数据的。...RODBC是一个资深包,提供R与SQL server的接口。DBI包提供了通用接口与驱动程序的类集,如RSQLITE,是访问数据库的统一框架,允许其他驱动程序以模块包添加。

    1.9K20

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

    参考:李东风老师的R 语言实战 1. tidyverse 系统简介 假设数据以 tibble 格式保存。...指定变量名时不是写成字符串形式而是直接写变量名: d.class %>% distinct(sex, age) %>% knitr::kable() 如果希望保留数据框中其它列,可以加选项 keep_all...在 dplyr 包的 rename() 中用 “新名字 = 旧名字” 格式修改变量名,如: d2.class % dplyr::rename(h=height, w=weight...pivot_longer/pivot_wider 大部分功能是类似的,这里主要说下pivot_longer 针对下面情况的功能: 我们需要 指定切分变量名和随访号的模式,以解决一行中有多个属性的多次观测的情形...R 数据整理(六:根据分类新增列的种种方法 1.0) 其他函数 slice dplyr 包的函数 slice(.data, ...) 可以用来选择指定序号的行子集,正的序号表示保留,负的序号表示排除。

    10.9K30

    R tips:使用!!来增加dplyr的可操作性

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

    2.5K31

    数据处理的R包

    参数注释: data:函数处理的数据框; variables:要进行拆分的变量名称,传递变量的格式是:....(col_name),就是把进行分组的变量名包含在.()中; fun:应用到每行的函数 > df <- data.frame(group = c(rep('A', 2), rep('B', 2), rep...教程,可以参考官方文档:http://plyr.had.co.nz/ 3.2.2 dplyr dplyr是一个强大的R包,用于处理,清理和汇总非结构化数据,使得R中的数据探索和数据操作变得简单快捷,也是出于...(3)unite tidyr包中提供了unite函数,可以将列,变量以某种形式合并为一列,一个变量 unite语法如下: unite(data, col, sep = "_", remove = TRUE...(base包函数) [1] "2020-01-23" (2)日期格式转化 日期值通常以文本的形式输入到R中,然后转化为以数值形式存储的日期变量。

    4.7K20

    R语言|数据清洗

    数据清洗是数据分析流程中必不可少的一步。清洗得当的数据是可靠分析的基础,而在R语言中,有许多强大而灵活的工具可以帮助我们高效完成数据清洗。...本文将全面介绍R语言数据清洗的常见技巧,并配以具体的代码示例。 数据清洗常见的任务包括:处理缺失值、数据格式转换、去除重复数据、修正异常值、数据标准化、数据分组与聚合、文本数据清理。...TIPS R语言数据清洗常用工具 1. Base R R语言自带的base包提供了许多内置函数用于数据清洗,例如is.na()、duplicated()等。...2. dplyr dplyr是R语言中最受欢迎的数据操作包之一,擅长数据清洗和操作,语法简洁直观。...4. stringr stringr专注于字符串处理,适合清理文本数据。 5. 其他工具 根据需求还可以使用lubridate处理日期时间数据,janitor快速清理变量名等。

    12910

    R语言数据集合并、数据增减、不等长合并

    ",all=F) #默认,只取两者的共有的部分 id R M 1 1 9 7 2 2 7 2 其中,all=T代表全连接,all.x=T代表左联结;all.y=T代表右连接 2、dplyr...包 dplyr包的数据合并, 一般用left_join(x,y,by="name") 以x为主,y中匹配到的都放进来, 但,y中没有的则不放过来。...命令是让这两个向量粘合在一起生成新的字符串向量,粘合后的新字符之间没有间隔。...rbind()按照横向的方向,或者说按行的方式将矩阵连接到一起 rbind/cbind对数据合并的要求比较严格:合并的变量名必须一致;数据等长;指标顺序必须一致。...相比来说,其他一些方法要好一些,有dplyr,sqldf中的union 5、sqldf包 利用SQL语句来写,进行数据合并,适合数据库熟悉的人,可参考: R语言︱ 数据库SQL-R连接与SQL语句执行

    13.6K12

    生信技巧第3课-请你务必学好R语言

    xxxxx 获取当前工作区间getwd() 更改工作区间 setwd( "xxxxxx") 清除当前对象rm() 安装包你一定会遇到错误,请参考: R包终极解决方案!...) 下载R语言的软件: https://cran.r-project.org/bin/windows/base/ 下载Rstudio这个R编辑器: https://www.rstudio.com/products...明白R中的变量 向量和因子:向量特简单,没什么好说的,因子太复杂了,我说不清楚,你们慢慢理解。 数据框:就像我们的表格,第一行就是每一列的名字,我们称之为字段,或者变量名。...用list( 字段1, 字段2,….. )创建 数组:其形式就像我们玩的模方,每一个面都是一个矩阵数据,用array(数据,各维度的最大值,各维度的名称) 了解变量的基础操作函数 str,class,names...这是一个分水岭,用好了你就算是R入门了。也可以用一些包,比如reshape2,dplyr。 当然,R里面的字符串对象是另外完全不一样的操作模式,建议大家自行搜索学习。

    1.1K40

    Day6 呦呦鹿鸣—学习R包

    内容源自生信星球学习小组安装和加载R包1.镜像设置(设置国内镜像网站能加快R包的下载)options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn...)以dplyr包为例 官方包的文档dplyr示例数据test R自带的iris数据第1,2,51,52,101,103行?...), sd(Sepal.Length))R中的管道操作符2:count统计某列的unique值count(test,Species)分类变量每个变量值的频数dplyr处理关系数据将2个表进行连接1.內连...inner_join,取交集inner_join(test1, test2, by = "x")满足两个条件:有相同变量名,相同变量名的列里有相同元素;2.左连left_join列表书写顺序决定了最终合成列表中列的顺序...,每列数值的类型必须相同;以"by"的列为标准,补齐列表,空值为"NA"4.半连接:返回能够与y表匹配的x表所有记录semi_join交集表中test1部分的列semi_join(x = test1,

    17110

    R语言入门(一)之数据处理

    str(a1) #以简洁的方式显示对象的数据结构及内容 summary(a1) #可以提供最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计 ?...R11中;row.names=F 表示不把行名称读进去;sep="\t" 表示以tab(制表符\t)为分隔符 remove(list = ls()) #清除全部对象,即用ls()列出全部对象名,用一个...duplicated(a1$Species) #duplicated函数是一个可以用来解决向量或者数据框重复值的函数,它会返回一个TRUE或FALSE的向量,以标注该索引所对应的值是否是前面数据所重复的值...);variable.name:为新列变量取名; value.name:对应值所在的变量名 ?...", stringsAsFactors = F) #指的是读入的数据中的字符串数据是否要变成属性数据,stringsAsFactors=FALSE就是不变 成属性数据,按字符串读入。

    10.2K40

    【实用派】R语言中的便捷小操作

    管道处理 管道处理避免了中间变量的生成,从而节省了内存,并且使代码直观易读,很大程度的简化代码。 R语言中,管道运算符为“dplyr”包中的“%>%”,指左边的结果作为参数,传入右边的函数。...默认左边的结果作为右面函数中的第一个传入参数,或者唯一缺失的参数。 运用iris数据集,介绍管道运算符的使用。 首先导入数据并加载dplyr包。 ?...当右侧函数只有一个参数时,以计算iris数据集第一列均值为例: ? 第二种方式中,“.”代表了输入参数的位置。第三种方式中,虽然去掉了括号,但是函数功能没有改变。...当右侧函数有两个输入参数时,以用iris数据集前两列生成新数据框,并查看前六行为例: ? 注意通过上述三种表示,得到结果中第一列和第二列数据的顺序。...attach()与detach()函数 当我们选取列表或数据框中对象时,需要用到“$”符号,但是当数据文件中有很多变量时,多次使用“$”会很麻烦,这时可以用attach()函数,连接数据,使得可以直接通过变量名来获取变量中的信息

    1K71

    一文看懂用R语言读取Excel、PDF和JSON文件(附代码)

    重复的列名也会发出警告,并且会在重复列名前加数字序号以做区分 col_types 列数据类型。可以有两种传参形式,具体如下。 1)NULL,默认值。函数会自动解析每一列数据的类型。 2)指定变量类型。...接入数据库的权限、账号和密码。 已安装dplyr包用来本地化数据库中的数据。 使用R与数据库进行交互的一般流程为:建立连接→发送查询请求→获取相关数据。...空白的位置都会以空格的字符格式显示,“\r\n”代表换行符号。提取文档内容的代码如下: > text的数据集转换成非嵌套的平面数据集 …:设置显示方法 首先以JSON常见的数组形式创建一个字符串向量,保存为example。...中括号代表数组的起始,双引号中代表值,值与值之间以逗号进行分隔,然后再用单引号将这一数组格式保存到字符串向量中。

    7.1K21

    教你几招R语言中的聚合操作

    在R语言中提供了几种实现数据聚合的常用函数,它们分别是基于stats包中的aggregate函数、基于sqldf包中的sqldf函数以及基于dplyr包中的group_by函数和summarize函数。...; by:指定分组变量,必须以列表的形式传递,如by = list(variable); FUN:指定分组聚合的统计函数,可以是R自带的函数也可以是用户自定义函数;......尽管它们都完成了聚合统计,但是第二种形式的返回结果更加的人性化,因为第二种用法所返回的数据框变量名称为Order_Date和Pay_Amt。...connection = getOption("sqldf.connection"), verbose = isTRUE(getOption("sqldf.verbose"))) x:指定SQL语句,并且以字符串形式写入...:以“variable_name = aggregate_fun(variable)”的形式表达聚合过程,其中等号左边的变量表示聚合后的新变量名,等号右边是基于某个变量作聚合函数的运算; 下面以Titanic

    3.3K20

    干货 | 男朋友老是说自己R语言很6,快来用这40道题目检测他

    10 R语言读取了一数据集并存储在变量“dataframe”中。缺失值以NA表示。...上述数据集已经加载进了你的R运行空间中,变量名为“dataframe”,第一行代表列名称。以下哪个代码将仅选择参数为Alpha的行?...15 以下哪个函数用于以电子表格格式观察数据集? A) disp() B) View() C) seq() D) 以上全部 答案:(B) 选项B是采用电子表格形式查看数据集的唯一选项。...21 “dplyr”是R中最流行的工具包之一,它包括5个核心数据处理函数。下面选项中的哪一个不是dplyr中的核心函数?...25 处理字符串数据(string)是文本分析的一个重要组成部分,当创建参数符号或其它符号时,分割字符串经常是一项常用任务。下面命令行的输出是什么?

    2K40
    领券