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

如何在mutate和case_when函数中将映射函数应用于动态列名?

在mutate和case_when函数中,要将映射函数应用于动态列名,可以使用tidyverse包中的rlang库来实现。rlang库提供了一些函数来处理动态列名。

首先,我们需要使用quo函数将动态列名转换为一个引用对象。然后,可以使用!!运算符将引用对象插入到mutate和case_when函数中。

下面是一个示例代码,演示如何在mutate和case_when函数中将映射函数应用于动态列名:

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

# 创建一个示例数据框
df <- data.frame(
  col1 = c(1, 2, 3),
  col2 = c(4, 5, 6),
  col3 = c(7, 8, 9)
)

# 定义一个映射函数
map_function <- function(x) {
  x * 2
}

# 定义一个动态列名
column_name <- "col2"

# 使用quo函数将动态列名转换为引用对象
column_expr <- enquo(!!sym(column_name))

# 在mutate函数中应用映射函数到动态列名
df <- df %>%
  mutate(!!column_expr := map_function(!!column_expr))

# 在case_when函数中应用映射函数到动态列名
df <- df %>%
  mutate(new_column = case_when(
    !!column_expr > 10 ~ "大于10",
    !!column_expr <= 10 ~ "小于等于10"
  ))

# 打印结果
print(df)

在上面的示例中,我们首先使用enquo函数将动态列名转换为引用对象column_expr。然后,在mutate函数中使用!!运算符将引用对象插入到函数中,以应用映射函数map_function到动态列名。在case_when函数中也是同样的操作。

这样,我们就可以在mutate和case_when函数中将映射函数应用于动态列名了。

对于腾讯云相关产品和产品介绍链接地址,由于不能提及具体品牌商,建议您访问腾讯云官方网站,查找相关产品和文档,以获取更详细的信息。

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

相关·内容

数据处理第2节:将列转换为正确的形状

mutate中的任何内容都可以是新列(通过赋予mutate新的列名),或者可以替换当前列(通过保持相同的列名)。 最简单的选项之一是基于其他列中的值的计算。...在这种情况下,您有一些选择:要么预先创建一个函数(如果它更长时间有用),或者通过将它包装在funs()或波形符中来动态创建函数。...我首先要使用mutate_all()搞砸了:下面的粘贴变异需要动态函数。 你可以使用〜paste(。,“/ n”)或funs(paste(。,“/ n”))。...在动态创建函数时,通常需要一种方法来引用要替换的值:这是.符号。...使用单个mutate()语句,您可以立即选择更改列名称。

8.1K30

R语言批量生成CaseWhen的解决方案

痛点:判断条件可能会改或增删,全写在case_when里,代码冗余且不利于复制维护,stackoverflow找了一圈,没发现好的解决方案,干脆自己写了一个通用代码以自动生成批量case_when判断...结果如下图: 单纯用case_when,需要写成 tibble(fruit=stringr::fruit) %>% mutate( category=case_when(...然后复制单元格,用conditions <- clipr::read_clip_tbl()读进R 2. allCaseWhen走起 tibble(fruit=stringr::fruit) %>% mutate...函数的核心依然是case_when,条件为真即停止,所以效率上没有损失。 如果想改条件,在conditions里放肆增删改,改完再跑一遍allCaseWhen即可。...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

60920
  • 生信马拉松 Day7

    数据框按照某一列排序 library(dplyr) a=arrange(test, Sepal.Length) #从小到大 b=arrange(test, desc(Sepal.Length)) #从大到小 #这个函数列名不加引号...,可以先写上数据集名称然后tab出列名,再删去数据框名字,防止写错 identical(a$Sepal.Length,test$Sepal.Length) #这个函数意思为是否相同,可以用来检查是不是真的排序了...,数据框新增一列 mutate(test, new = Sepal.Length * Sepal.Width) #没赋值的情况下数据实际是不会新增的 #新增列名为new,值为Sepal.Length...条件循环,if,for 碎碎念:这个东西每次好久不用就想不起格式要重新查,脑子是个好东西,就是漏的厉害 rm(list=ls()) #if的格式 if (){ #if后面的括号里只能是一个逻辑值...require(g,character.only = T)) install.packages(g,ask = F,update = F) } 一个类似的函数case_when() library

    25000

    在 R 中使用 sf ggplot2 绘制河流地图

    这次我们将只使用3个库:httr通过GET函数检索数据;tidyverse sf 用于空间分析和数据整理。...然后,我们将st_read应用于它并检索列表对象。由于我们想要 sf 对象,因此获取列表的第一个组件就足够了,我们的愿望将得到满足。...我们在下面使用 mutate 来创建宽度,并使用case_when来分配宽度。后者在SQL用户中是众所周知的。在此上下文中,如果满足条件,它会根据宽度列分配一个值。 # 2....好吧,这就是女士们先生们!在本教程中,您学习了如何导入河流空间文件以及如何在 R 中制作欧洲的炫酷河流地图。随时检查完整代码这里,克隆存储库并根据需要重现、重用修改代码。...文中部分图片来源于网络,涉及作品内容、版权其他问题,请后台联系小编处理。

    2.6K20

    UseGalaxy.cn生信云|零代码使用Tiverse优雅地处理数据集

    Dplyr Join two tables join 函数用于根据指定的键将两个数据框连接起来,可以根据共同的变量将数据框进行合并,支持多种连接操作,内连接、左连接、右连接外连接等。...Dplyr Mutate create, modify, and delete columns mutate 函数用于添加新变量或修改现有变量,能够基于已有数据创建新的变量列,支持对数据框进行实时的变量操作和修改...Dplyr Rename columns rename 函数用于重命名数据框中的变量名,能够快速修改变量的名称,使得数据的列名更符合用户的需求和习惯。...Dplyr Select keep or drop columns select 函数用于选择数据框中的特定列,可以保留感兴趣的变量,并且能够根据列名、位置或条件表达式进行灵活的变量选择操作。...Tidyr Pivot Longer from wide pivot_longer 函数用于将宽格式数据转换为长格式数据,能够根据用户指定的列将数据框中的多个列整理成一对 “名-值” 对,便于进一步的分析处理

    16720

    玩转数据处理120题|R语言版本

    score" 4 修改列名 题目:修改第二列列名为'popularity' 难度:⭐⭐ R语言解法 df % rename(popularity = score) 5 字符统计...R解法 #用ifelse也可以 #底层原理有差别但实现结果一样 df % mutate(categories = case_when( salary >= 0 & salary...行位置有缺失值 列名:"日期", 第[327, 328]行位置有缺失值 列名:"前收盘价(元)", 第[327, 328]行位置有缺失值 列名:"开盘价(元)", 第[327, 328]行位置有缺失值...列名:"最高价(元)", 第[327, 328]行位置有缺失值 列名:"最低价(元)", 第[327, 328]行位置有缺失值 列名:"收盘价(元)", 第[327, 328]行位置有缺失值 ........%>% dplyr::rename(`0` = "seq(0, 99, 5)") 84 数据创建 题目:从NumPy数组创建DataFrame 难度:⭐ 备注 使用numpy生成20个指定分布(标准正态分布

    8.8K10

    两个神奇的R包介绍,外加实用小抄

    SampleNameExpression的对应。...3.函数后面跟括号,括号里第一个参数是都数据框名 4.字符串要加双引号,行名列名不用加,其他单元格(姑且这么叫了)里出现的字符串要加。...新建一个数据框并赋值给bioplanet这个变量(赋值符号<-还记得嘛)括号里是“列名”=列值,这里列名要加双引号。这里涉及的几个给列填充数值的函数有 rep,重复,括号中填要重复的字符重复次数。...其中,需合并的列名也可以列在最后,这样,key=value=可以省略。...这是根据相同的列名进行合并,当在两个表格中列名不一样时,需要在括号内加 by=c("col1"="col2") 其中col12分别是在两个表格中的需合并的列名 semi_join,anti_join

    2.5K40

    Fama French (FF) 三因子模型CAPM模型分析股票市场投资组合风险收益可视化

    Gll3Ftrs <- read_csv(unz head(Gll3Ftrs ) 这很好用,但它特定于具有这些特定列名的 FF 3 因子集。...如果我们导入不同的 FF 因子集,我们将需要指定不同的列名。 作为一种替代方法,下面的代码块在导入后将列转换为数字,但更通用。它可以应用于其他 FF 因子集合。...vars()函数的操作与select()函数类似,我们可以通过在date前面加一个负号来告诉它对所有列进行操作,除了date列。...我们将使用该 parse_date_time() 函数,并调用该 ymd() 函数以确保最终结果为日期格式。同样,在处理来自新来源的数据时,日期,任何列都可以有多种格式。...ff\_proio\_tns <- piruq\_ealaed\_ntly %>% left_join %>% mutate head(ff_poleus, 4) 我们现在有了一个包含我们的投资组合收益

    3.8K30

    深入探索:Python高级数据可视化技巧与定制化应用

    下面我们将介绍两个进阶应用:使用自定义颜色映射函数和在标签中添加格式化文本。使用自定义颜色映射函数有时候,我们的数据可能不适合使用预定义的颜色映射,而需要根据自定义的规则来确定颜色。...这时候,我们可以定义一个自定义的颜色映射函数,并将其应用于我们的数据。...然后,我们根据数据的值调用这个函数,得到颜色列表,并将其应用于散点图中。在标签中添加格式化文本有时候,我们希望在标签中添加一些格式化的文本,以便更好地说明数据或者增加可读性。...以下是一些进一步探索的领域:使用动画效果动画效果是数据可视化中引人注目的一部分,可以通过Matplotlib的动画模块或其他库(Plotly)来创建交互式动态的图形,以更好地展示数据的变化趋势。...接着,我们探讨了如何自定义标签,包括调整标签的字体、颜色位置,以及如何在标签中添加格式化文本,以提高图表的可读性吸引力。

    15510

    数据清洗与管理之dplyr、tidyr

    将一列分离为多列:separat 正 文 先前已经讲过R语言生成测试数据、数据预处理外部数据输入等内容,但这仅仅是第一步,我们还需要对数据集进行筛选、缺失值处理等操作,以便获得可以应用于建模或者可视化的数据集...接下来就以鸢尾花测试数据集进行进一步的数据管理筛选操作。...5个数字 [1] 5.1 4.9 4.7 4.6 5.0 行值或列值为组合数据,则表示引用组合行列交叉位置的数据 > iris[1:5,1:3] Sepal.Length Sepal.Width...() #取行 #取1:dim(mtcars_df)[1]行 mutate(mtcars_df, NO = 1:dim(mtcars_df)[1]) #数值重定义赋值 #将Ozone列取负数赋值给new...,将左侧数据结果传递到右侧,作为右侧处理的原始数据 #当对数据集通过group_by()添加了分组信息后,mutate(),arrange() summarise() 函数会自动对这些 tbl 类数据执行分组操作

    1.8K40

    玩转数据处理120题|Pandas&R

    ) # [1] "grammer" "score" 4 修改列名 题目:修改第二列列名为'popularity' 难度:⭐⭐ Python解法 df.rename(columns={'score':'...(categories = case_when( salary >= 0 & salary < 5000 ~ '低', salary >= 5000 & salary < 20000 ~...]行位置有缺失值 列名:"简称", 第[327, 328]行位置有缺失值 列名:"日期", 第[327, 328]行位置有缺失值 列名:"前收盘价(元)", 第[327, 328]行位置有缺失值 列名:..."开盘价(元)", 第[327, 328]行位置有缺失值 列名:"最高价(元)", 第[327, 328]行位置有缺失值 列名:"最低价(元)", 第[327, 328]行位置有缺失值 列名:"收盘价(...%>% dplyr::rename(`0` = "seq(0, 99, 5)") 84 数据创建 题目:从NumPy数组创建DataFrame 难度:⭐ 备注 使用numpy生成20个指定分布(标准正态分布

    6.1K41

    【机器学习】---神经架构搜索(NAS)

    模型的性能不仅依赖于数据训练方法,还依赖于网络架构本身。然而,手工设计一个适用于不同任务的高效架构需要大量的领域知识实验。...NAS的三大组件 2.1 搜索空间 搜索空间定义了NAS可以探索的所有可能网络结构,通常包括以下元素: 层的类型(例如卷积层、池化层、全连接层) 层的超参数(卷积核大小、步长、激活函数等) 网络拓扑结构...(层之间的连接方式) 搜索空间设计的考虑因素: 大小:搜索空间过大会导致搜索难度增加,过小则可能限制模型的表现力。...2.2 搜索策略 搜索策略决定了如何在定义好的搜索空间中高效地寻找最优架构。...其核心思想是通过不断变异交叉已有的架构来生成新的架构,并根据性能选择最优个体。

    19610

    生信入门马拉松之R语言基础-脚本项目管理、条件循环、表达矩阵一丢丢数据挖掘(Day 7)

    复习R包stringr字符串操作的几个函数-长度、拆分、提取、字符检测、替换删除。...数据框函数- 排序arrange()desc参数、distinct()去重复、mutate()数据框新增列注意⚠️没有赋值就没有改变管道符号%>%-实现连续的步骤非常易读彩虹代码展现嵌套函数的逻辑。...yes:逻辑值T时返回的值no,逻辑值F时返回的值ifelse函数str_detect()函数连用,王炸炸炸!!!...代码2实现结果代码1相同2.6 练习library(dplyr)x = c(-1,-1,4,5,2,0)case_when(x>0 ~ "A", x==0 ~ "0",...是列名3.2 表达矩阵画图函数对应的参数要求不一致。怎么办?更改数据的文件类型。

    17600

    PAMI 2020|基于深度对抗方法处理视图缺失的多视图学习

    因此,如何在视图缺失的情况下进行有效的多视图学习,成为了一个重要课题。 1.2 相关工作 (1)多视图学习 多视图学习通过整合数据点在不同视图下的数据信息,以提高模型性能。...(3)非完整数据上的学习 一种比较直接的方法是将数据补全后,再应用于现有模型。补全时的方法可以基于全局、基于局部,也可以将全局和局部综合考虑。近年来也有基于深度学习的补全方法出现。...当然,也有一些方法可以不进行数据补全,基于分组等策略的方法。...模型与方法 2.1 CPM-Nets模型 为了在视图缺失的数据上使用多视图学习方法,本文作者提出了CPM-Nets(Cross Partial Multi-View Networks)模型,并在本文中将对抗方法引入模型...分解损失 在分类标签方面,则有分类损失函数如图5,其中φ为h的特征映射函数,T(y)为类别y的潜在表示。 ? ? ? 图5. 分类损失函数 综合来看,CPM-Nets的算法流程如图6。 ? 图6.

    2.5K10

    DPaRL:耶鲁+AWS出品,开放世界持续学习场景的新解法 | ECCV24

    映射函数DPG生成一个 CLStoken,以动态获取任务特定的高级信息。然而,它的大小与主干模型所需的提示tokens不同。...为了解决这个问题,需要引入一个映射函数来连接 CLStoken与提示tokens。一种直接的方法是使用单个线性层进行维度转换。...此外,对该低秩线性映射函数应用了DropoutLayerNorm,这进一步有助于避免过拟合并稳定训练。...在这个专用映射函数预训练神经网络的帮助下,提示 $P$ 是从输入图像 $I$ 阶段tokens $S{t, q} := S{t - (q - 1)} \sim S_{t}$ 动态获得的:$$\begin...需要注意的是,用于提示生成的DPG编码器权重(管道的左侧)是冻结的,而可学习的参数包括阶段tokens、映射函数表示损失函数中的权重,以及鉴别性表示主干权重。

    6910
    领券