有人可以告诉我为什么示例1不起作用但示例2有效吗? (我将数据集管道为均值函数,但只想要一个变量, 但如果我先做选择并输出结果就没有问题了)
iris %>% mean(.$Sepal.Length)
NA
警告信息:
在mean.default(。,。$ Sepal.Length)中:
参数不是数字或逻辑:返回NA
iris %>% .$Sepal.Length %>% mean()
5.843333
答案 0 :(得分:3)
如果您取消代码
iris %>% mean(.$Sepal.Length)
变为
mean(iris, iris$Sepal.Length)
基本上,您尝试将mean
应用于data.frame
,并且没有办法执行此操作。
未成功的
iris %>% .$Sepal.Length %>% mean()
是
mean(iris$Sepal.Length)
是一种mean
数字向量的方法。
请记住,在管道中,管道左侧的整个对象将传递到右侧的第一个参数(除非另有arg = .
表示)。试图只传递部分对象往往不能很好地工作。