在调试函数中的 dplyr 链时,我经常希望能够将 data.frame 的中间更改打印到控制台。我该怎么做?
例如:
data(cars)
cars %>% group_by(speed) %>%
summarize(dist_mean = mean(dist)) %>%
[insert printing function] %>%
group_by(speed > 10) %>%
summarize(dist_mean = mean(dist_mean)) %>%
[insert printing function]
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来替换将[insert printing function]数据帧的当前状态打印到控制台,同时仍然不间断地继续链?
尝试一下 T 形管:%T>%。
来自文档:
将值通过管道传送到函数或调用表达式中,并返回原始值而不是结果。当表达式用于其副作用(例如绘图或打印)时,这非常有用。
这里有一个很好的例子以及其他两个不太常见的管道命令。
插入回原来的上下文中:
data(cars)
cars %>% group_by(speed) %>%
summarize(dist_mean = mean(dist)) %T>%
print() %>%
group_by(speed > 10) %>%
summarize(dist_mean = mean(dist_mean)) %T>%
print()
Run Code Online (Sandbox Code Playgroud)
编辑:根据 @Ritchie Sacramento 的评论,管道是 magrittr 包的一部分。它们似乎也由 dplyr 再出口。如果致电后它们不起作用,library(dplyr)那么您将需要致电library(magrittr)才能访问它们。
| 归档时间: |
|
| 查看次数: |
532 次 |
| 最近记录: |