我正在尝试在删除高值和低值后计算平均值。但以下忽略了修剪参数:
library(tidyverse)
mtcars %>%
summarize(mpg = mean(mpg),
mpg_trimmed = mean(mpg, trim = 0.05))
#> mpg mpg_trimmed
#> 1 20.09062 20.09062
但以下方法有效:
library(tidyverse)
mtcars %>%
summarize(mpg = mean(.$mpg),
mpg_trimmed = mean(.$mpg, trim = 0.05))
#> mpg mpg_trimmed
#> 1 20.09062 19.95333
为什么我需要使用.$
?
最佳答案
因为您屏蔽原始mpg
变量(在函数范围内创建另一个变量)。指定一个不同的名称,例如 mpg_mean
。请记住,dplyr 使新创建的变量可以立即访问。
library(dplyr)
mtcars %>%
summarize(mpg_mean = mean(mpg),
mpg_trimmed = mean(mpg, trim = 0.05))
#> mpg_mean mpg_trimmed
#> 1 20.09062 19.95333
关于r - 除非我使用奇怪的语法,否则为什么平均值会忽略修剪参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61936771/