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

mutate_at可以根据封装的函数名来命名变量吗?(dplyr + rlang问题)

在dplyr和rlang中,mutate_at函数用于对特定的列进行变换操作。它可以根据封装的函数名来命名变量,但是需要使用rlang的quo函数将函数名转换为引用。

mutate_at函数的作用是对指定的列进行变换操作,可以使用多个函数进行变换。当我们想要将变换后的结果作为新的列添加到数据集中时,可以通过给mutate_at函数传递函数名来命名新的变量。

例如,我们有一个名为df的数据集,想要对其中的两列进行变换操作,并将结果分别命名为new_col1和new_col2。我们可以使用mutate_at函数来实现:

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

df <- data.frame(col1 = c(1, 2, 3),
                 col2 = c(4, 5, 6))

func1 <- mean
func2 <- sum

new_df <- df %>%
  mutate_at(vars(col1, col2), 
            list(new_col1 = quo(func1),
                 new_col2 = quo(func2)))

在上述代码中,我们首先将函数mean赋值给func1,将函数sum赋值给func2。然后在mutate_at函数中,通过vars函数指定要进行变换操作的列,使用list函数将新的变量名和对应的函数引用构建成列表。最后,将新的数据集赋值给new_df。

这样,我们就可以根据封装的函数名来命名变量。在示例中,新的变量名分别为new_col1和new_col2。

值得注意的是,由于dplyr和rlang是R语言中的两个包,因此对应的函数和技术文档均可以在CRAN官方网站上找到。具体推荐的腾讯云相关产品和产品介绍链接地址可以在腾讯云官方网站上获取。

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

相关·内容

没有搜到相关的沙龙

领券