用...公開內容

展示管道運算子%$%將列名稱作為左側物件內的 R 符號暴露給右側表示式。當管道輸入沒有 data 引數的函式(比如 lm)並且不將 data.frame 和列名稱作為引數(大多數主要的 dplyr 函式)時,這個運算子很方便。

展示管道運算子%$%允許使用者在需要引用列名時避免破壞管道。例如,假設你要過濾 data.frame,然後使用 cor.test 在兩列上執行相關性測試:

library(magrittr)
library(dplyr)
mtcars %>%
  filter(wt > 2) %$%
  cor.test(hp, mpg)

#> 
#>  Pearson's product-moment correlation
#> 
#> data:  hp and mpg
#> t = -5.9546, df = 26, p-value = 2.768e-06
#> alternative hypothesis: true correlation is not equal to 0
#> 95 percent confidence interval:
#>  -0.8825498 -0.5393217
#> sample estimates:
#>        cor 
#> -0.7595673

這裡標準的%>%管道將 data.frame 傳遞給 filter(),而%$%管道將列名稱暴露給 cor.test()

展示管的工作方式類似於基本 R with() 函式的可管道版本,並且接受相同的左側物件作為輸入。