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

在summarize_all dplyr结构内部使用的函数中的访问列名

,可以使用以下方式:

  1. 使用quo()函数:quo()函数可以将列名转换为一个引用对象,然后在函数中使用!!来解引用该对象。例如,假设要计算某一列的平均值,可以使用以下代码:
代码语言:txt
复制
library(dplyr)

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

col_name <- quo(col1)
result <- data %>% summarize(avg = mean(!!col_name))

在上述代码中,quo(col1)将列名"col1"转换为一个引用对象,然后使用!!来解引用该对象,从而在mean()函数中访问该列。

  1. 使用enquo()函数:enquo()函数可以将列名转换为一个引用对象,并且可以直接在函数中使用引用对象。例如,假设要计算多个列的平均值,可以使用以下代码:
代码语言:txt
复制
library(dplyr)

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

col_names <- c("col1", "col2")
result <- data %>% summarize_all(~mean(!!enquo(.)))

在上述代码中,enquo(.)将列名转换为引用对象,并直接在mean()函数中使用引用对象。使用~表示对每个列名应用相同的函数。

总结:在summarize_all dplyr结构内部使用的函数中访问列名,可以使用quo()函数将列名转换为引用对象,并使用!!来解引用该对象;也可以使用enquo()函数将列名转换为引用对象,并直接在函数中使用引用对象。

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

相关·内容

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券