gpt4 book ai didi

r - 如何编写自定义管道友好函数?

转载 作者:行者123 更新时间:2023-12-05 09:06:59 24 4
gpt4 key购买 nike

我正在尝试创建 pipe-friendly functions使用 magrittr

例如,我尝试编写一个自定义函数来计算列的平均值:

library(magrittr)
custom_function <-
function(.data, x) {
mean(.data$x)
}

mtcars %>%
custom_function(mpg)

但是我收到了这个错误:

Error in (function(x, i, exact) if (is.matrix(i)) as.matrix(x)[[i]] else .subset2(x,  : 
object 'mpg' not found

也许我对变量的引用不起作用。我该如何修复这个 .data$x

最佳答案

.data$x 不是指名称保存在变量 x 中的列,而是指名为 "x" 的列>。使用 .data[[x]] 引用名称为变量 x 中保存的字符串的列,并使用字符串 "mpg"调用您的函数

library(magrittr)
custom_function <- function(.data, x) mean(.data[[x]])

mtcars %>% custom_function("mpg")
## [1] 20.09062

关于r - 如何编写自定义管道友好函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65441055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com