% ...% operatori
%>%non ha alcun significato incorporato ma l'utente (o un pacchetto) è libero di definire gli operatori del modulo %whatever%nel modo che preferisce. Ad esempio, questa funzione restituirà una stringa composta dal suo argomento a sinistra seguito da una virgola e uno spazio e quindi dall'argomento di destra.
"%,%" <- function(x, y) paste0(x, ", ", y)
# test run
"Hello" %,% "World"
## [1] "Hello, World"
La base di R fornisce %*%(moltiplicazione di matrici), %/%(divisione intera), %in%(lhs è un componente di rhs?), %o%(Prodotto esterno) e %x%(prodotto kronecker). Non è chiaro se %%rientri o meno in questa categoria ma rappresenta il modulo.
expm Il pacchetto R, expm, definisce un operatore di potenza a matrice %^%. Per un esempio vedere il potere Matrix in R .
operatori Il pacchetto R degli operatori ha definito un gran numero di tali operatori come %!in%(per non %in%). Vedi http://cran.r-project.org/web/packages/operators/operators.pdf
Pipes
magrittr Nel caso del %>%pacchetto magrittr R lo ha definito come discusso nella vignetta magrittr. Vedi http://cran.r-project.org/web/packages/magrittr/vignettes/magrittr.html
magittr ha anche definito una serie di altri operatori simili. Vedere la sezione Operatori di tubi aggiuntivi del collegamento precedente che discute %T>%, %<>%e %$%e http://cran.r-project.org/web/packages/magrittr/magrittr.pdf per ulteriori dettagli.
dplyr Il pacchetto dplyr R utilizzato per definire un %.%operatore simile; tuttavia, è stato deprecato e dplyr ora consiglia agli utenti di utilizzare %>%quale dplyr importa da magrittr e rende disponibile all'utente dplyr. Come ha menzionato David Arenburg nei commenti, questa domanda SO discute le differenze tra esso e magrittr %>%: differenze tra%.% (Dplyr) e%>% (magrittr)
pipeR Il pacchetto R, pipeR, definisce un %>>%operatore che è simile a%>% di magrittr e può essere usato come alternativa ad esso. Vedi http://renkun.me/pipeR-tutorial/
Il pacchetto pipeR ha anche definito una serie di altri operatori simili. Vedi: http://cran.r-project.org/web/packages/pipeR/pipeR.pdf
postlogic Il pacchetto postlogic definito %if%e gli %unless%operatori.
wrapr Il pacchetto R, wrapr, definisce un dot pipe %.>%che è una versione esplicita di %>%in quanto non esegue l'inserimento implicito di argomenti ma sostituisce solo gli usi espliciti di punto sul lato destro. Questo può essere considerato come un'altra alternativa a %>%. Vedi https://winvector.github.io/wrapr/articles/dot_pipe.html
Pipa bizarro . Questa non è realmente una pipe, ma piuttosto una sintassi di base intelligente per funzionare in modo simile alle pipe senza effettivamente usare le pipe. È discusso in http://www.win-vector.com/blog/2017/01/using-the-bizarro-pipe-to-debug-magrittr-pipelines-in-r/ L'idea è che invece di scrivere:
1:8 %>% sum %>% sqrt
## [1] 6
si scrive quanto segue. In questo caso usiamo esplicitamente punto invece di elidere l'argomento punto e terminiamo ogni componente della pipeline con un assegnamento alla variabile il cui nome è punto ( .). Lo seguiamo con un punto e virgola.
1:8 ->.; sum(.) ->.; sqrt(.)
## [1] 6
Aggiorna Aggiunte informazioni sul pacchetto expm ed esempio semplificato in alto. Aggiunto pacchetto postlogic.
?'%>%'