如何使用管道获取子组?我不明白为什么我写的东西行不通。有人可以解释这些工作原理,在线阅读和在线查看示例对我没有帮助,因为我不确定自己不了解什么?
mean(mtcars$qsec)
mtcars %>%
select(qsec) %>%
mean()
警告信息: 在mean.default(。)中:参数不是数字或逻辑:返回NA
mean(mtcars$qsec[mtcars$cyl==8])
mtcars %>%
group-by(qsec) %>%
filter(cyl==8)
mean()
mean.default()错误:缺少参数“ x”,没有默认值
mean(mtcars$mpg[mtcars$hp > median(mtcars$hp)])
mtcars %>%
group_by(mpg) %>%
filter(hp>median(hp))
mean
答案 0 :(得分:2)
原因是select
仍返回一列的data.frame,而mean
期望基于vector
的{{1}}
x-一个R对象。当前,存在用于数字/逻辑矢量以及日期,日期时间和时间间隔对象的方法。仅允许trim = 0的复数向量。
我们可以使用?mean
将列提取为pull
并在其上应用vector
mean
在第二种情况下,我们获得了'qsec'的library(dplyr)
mtcars %>%
pull(qsec) %>%
mean
#[1] 17.84875
,其中'cyl'为8
mean