#magrittr包簡(jiǎn)單學(xué)習(xí)
#是把r簡(jiǎn)化的工作流
rm(list = ls())
vignette("magrittr")
library(magrittr)
# 默認(rèn)情況下愕掏,左邊(LHS)將作為出現(xiàn)在右邊(RHS)的函數(shù)的第一個(gè)參數(shù)輸入脖岛。
# 這是子集和轉(zhuǎn)換表達(dá)式中的情況严蓖。
# %>%可以以嵌套方式使用谈息,例如,它可以出現(xiàn)在參數(shù)中的表達(dá)式中律姨。
# 當(dāng)需要在第一個(gè)位置以外的位置使用LHS時(shí)稳摄,可以使用圓點(diǎn)藻雪。
# ”,作為占位符。
# 這在聚合表達(dá)式中使用魁索。
# 例如波俄,公式中的點(diǎn)不與占位符混淆,占位符用于聚合表達(dá)式蛾默。
# 只要只需要一個(gè)參數(shù)LHS懦铺,就可以省略空括號(hào)。
# 這在print調(diào)用中使用(它也返回它的參數(shù))支鸡。這里冬念,LHS %>% print(),甚至LHS %>% print(.)也可以牧挣。
# 帶有點(diǎn)(.)作為L(zhǎng)HS的管道將創(chuàng)建一元函數(shù)急前。
# 這用于定義聚合器函數(shù)。
car_data <-
? mtcars %>%
? subset(hp > 100) %>%
? aggregate(. ~ cyl, data = ., FUN = . %>% mean %>% round(2)) %>%
? transform(kpl = mpg %>% multiply_by(0.4251)) %>%
# 最后瀑构,可以使用復(fù)合賦值管道操作符%<>%作為鏈中的第一個(gè)管道裆针。
# 其效果是將管道的結(jié)果分配給左側(cè)對(duì)象,而不是像往常那樣返回結(jié)果寺晌。
# 它本質(zhì)上是表達(dá)式foo <- foo %>% bar %>% baz的簡(jiǎn)寫(xiě)形式世吨,這可以歸結(jié)為foo %<>% bar %>% baz。
iris$Sepal.Length %<>% sqrt