% ...% operatörler
%>%yerleşik bir anlamı yoktur, ancak kullanıcı (veya bir paket) formun işleçlerini %whatever%istediği şekilde tanımlamakta özgürdür . Örneğin, bu işlev, sol bağımsız değişkenini ve ardından virgül ve boşluk içeren bir dizge ve ardından sağ bağımsız değişkenini döndürür.
"%,%" <- function(x, y) paste0(x, ", ", y)
# test run
"Hello" %,% "World"
## [1] "Hello, World"
R'nin tabanı %*%(matris çoğullama), %/%(tamsayı bölme), %in%(rhs'nin bir bileşeni mi?), %o%(Dış çarpım) ve %x%(kronecker çarpımı) sağlar. %%Bu kategoriye girip girmediği belli değil ama moduloyu temsil ediyor.
expm R paketi, expm, bir matris güç operatörünü tanımlar %^%. Bir örnek için bkz . R'deki Matrix gücü .
operatörler R paketi operatörleri %!in%(for not %in%) gibi çok sayıda bu tür operatörü tanımlamıştır . Bkz. Http://cran.r-project.org/web/packages/operators/operators.pdf
Borular
magrittr halinde %>%magrittr vignette'in olarak tartışıldığı gibi magrittr R paketin bunu tanımlamaktadır. Bkz. Http://cran.r-project.org/web/packages/magrittr/vignettes/magrittr.html
magittr ayrıca bir dizi başka operatörü de tanımlamıştır. Tartışır önce bağlantının Ek Boru Operatörler bölümüne bakın %T>%, %<>%ve %$%ve http://cran.r-project.org/web/packages/magrittr/magrittr.pdf Daha da ayrıntılı bilgi için.
dplyr%.% Benzer bir işleci tanımlamak için kullanılan dplyr R paketi ; ancak, kullanımdan kaldırılmıştır ve dplyr, kullanıcıların %>%magrittr'den hangi dplyr içe aktardığını ve dplyr kullanıcısının kullanımına sunmasını önermektedir. David Arenburg'un yorumlarda belirttiği gibi, bu SO sorusu onunla magrittr'ler arasındaki farkları tartışıyor %>%: %.% (Dplyr) ve%>% (magrittr) arasındaki farklar
pipeR R paketi, pipeR, %>>%magrittr'in%>% 'sine benzer bir işleci tanımlar ve buna alternatif olarak kullanılabilir. Bkz. Http://renkun.me/pipeR-tutorial/
PipeR paketi aynı zamanda bir dizi başka operatörü de tanımlamıştır. Bakınız: http://cran.r-project.org/web/packages/pipeR/pipeR.pdf
postlogic Postlogic paket tanımlanır %if%ve %unless%operatörler.
wrapr R paketi, wrapr, bağımsız değişkenlerin örtük olarak eklenmemesi, yalnızca sağ taraftaki noktanın açık kullanımlarının yerini alması %.>%açısından açık bir sürümü olan bir nokta borusunu tanımlar %>%. Bu, başka bir alternatif olarak düşünülebilir %>%. Bkz. Https://winvector.github.io/wrapr/articles/dot_pipe.html
Tuhaf boru . Bu gerçekten bir boru değil, aslında boru kullanmadan borulara benzer bir şekilde çalışmak için bazı akıllı temel sözdizimidir. Http://www.win-vector.com/blog/2017/01/using-the-bizarro-pipe-to-debug-magrittr-pipelines-in-r/ adresinde tartışılmaktadır. Fikir, yazmak yerine şudur:
1:8 %>% sum %>% sqrt
## [1] 6
biri aşağıdakileri yazıyor. Bu durumda nokta bağımsız değişkenini elemek yerine açıkça nokta kullanırız ve ardışık düzenin her bileşenini adı dot ( .) olan değişkene atama ile sonlandırırız . Bunu noktalı virgülle takip ediyoruz.
1:8 ->.; sum(.) ->.; sqrt(.)
## [1] 6
Güncelle Expm paketi hakkında bilgi eklendi ve üstte basitleştirilmiş örnek. Postolojik paket eklendi.
?'%>%'