2016-06-12 25 views
-2
  1. %<>%運算符在R中做什麼?
  2. 使用%<>%<-有什麼區別?
  3. 在什麼情況下可以使用%<>%
+1

它類似於':='在data.table。 – akrun

+2

@akrun它在原地更新嗎?它是':=' – jangorecki

+0

[在R中%>%的含義是什麼]的可能的重複(http://stackoverflow.com/questions/24536154/what-does-mean-in-r) –

回答

5

幫助下,?magrittr::`%<>%`,回答你所有的問題,如果你指的magrittr`s複合賦值管道運營商:

[...] %<>%用於通過更新的值 首先將其管入一個或多個rhs表達式中,然後分配結果 。例如,some_object %<>% foo %>% bar是 相當於some_object <- some_object %>% foo %>% bar。它必須是 連鎖店中的第一個管道運營商,但它的工作方式與%>%類似。

所以

library(magrittr) 
set.seed(1);x <- rnorm(5) 
x %<>% abs %>% sort 
x 
# [1] 0.1836433 0.3295078 0.6264538 0.8356286 1.5952808 

相同

set.seed(1);x <- rnorm(5) 
x <- sort(abs(x)) 
x 
# [1] 0.1836433 0.3295078 0.6264538 0.8356286 1.5952808