从“.”访问数据组件(点)运算符与 magrittr

Accessing components of data from the "." (dot) operator with magrittr

我不清楚如何使用带有 magrittr 的点 (".") 将函数应用于数据组件,例如来自数据的列或列表中的项目。

示例:

> data.frame(x = 1:10, y = 11:20) %>% .$y
[1] 11 12 13 14 15 16 17 18 19 20

似乎访问数据应该与对其应用函数一样工作,但事实并非如此:

> data.frame(x = 1:10, y = 11:20) %>% min(.$y)
[1] 1

data.frame 将作为第一个参数传递,除非在调用的其他地方放置了一个单独的点。

data.frame(x = 1:10, y = 11:20) %>% min(.$y)

相同
dd <- data.frame(x = 1:10, y = 11:20)
min(dd, dd$y)
# [1] 1

This is by design.

您将不得不使用代码块

data.frame(x = 1:10, y = 11:20) %>% {min(.$y)}