% ...% 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.
?'%>%'