Кажется, действительно удобно. Спасибо за обновление этого старого вопроса!

ользую Tidyverse для фильтрации данных и хотел бы печатать на каждом шаге измерений (или nrows) промежуточных объектов. Я думал, что мог бы просто использовать оператор тройника из magrittr, но это не работает. Я думаю, что понимаю концепцию тройника, но не могу понять, что не так. Я искал много, но не нашел много ресурсов о трубе тройника.

Я построил простой пример с набором данных mtcars. Печать промежуточных объектов работает, но я не могу заменить dim () или nrow ().

library(tidyverse)
library(magrittr)

mtcars %>% 
    filter(cyl > 4) %T>% dim() %>%
    filter(am == 0) %T>% dim() %>%
    filter(disp >= 200) %>% dim()

Я, конечно, могу написать это в базе R, но хотел бы придерживаться духа Tidyverse. Я, вероятно, недооценил кое-что о концепции тройника, и любые комментарии / решения будут высоко оценены.

РЕДАКТИРОВАТЬ: После хороших и быстрых ответов @hrbrmstr и @akrun я снова попробовал придерживаться оператора «Тройник» без написания функции. Я не знаю, почему я сам не нашел ответа раньше, но вот синтаксис, который я искал:

mtcars %>% filter(cyl > 4) %T>% {print(dim(.))} %>% filter(am == 0) %T>% {print(dim(.))} %>% filter(disp >= 200) %>% {print(dim(.))}

Несмотря на необходимость функции, решение @hrbrmstr действительно легче «очистить».

Ответы на вопрос(4)

Ваш ответ на вопрос