R 有没有一种方法“通过列表传递信息”';?

R 有没有一种方法“通过列表传递信息”';?,r,ggplot2,dplyr,magrittr,R,Ggplot2,Dplyr,Magrittr,ggplot2软件包中的一个非常酷的功能我从来没有充分利用过,那就是在绘图中添加图层列表。有趣的是,我可以将层列表作为参数传递给函数,并将它们添加到绘图中。然后,我可以获得所需的绘图外观,而不必从函数返回绘图(这是否是一个好主意是另一回事,但这是可能的) 库(ggplot2) x要构建magrittr步骤序列,请从开始 action = . %>% group_by(am, gear) %>% summarise(mean = mean(mpg), sd = sd(mpg)) 然后

ggplot2
软件包中的一个非常酷的功能我从来没有充分利用过,那就是在绘图中添加图层列表。有趣的是,我可以将层列表作为参数传递给函数,并将它们添加到绘图中。然后,我可以获得所需的绘图外观,而不必从函数返回绘图(这是否是一个好主意是另一回事,但这是可能的)

库(ggplot2)

x要构建magrittr步骤序列,请从
开始

action = . %>% group_by(am, gear) %>% summarise(mean = mean(mpg), sd = sd(mpg))
然后可以按照OP中的设想使用:

mtcars %>% action
列表一样,我们可以查看每个步骤的子集:

action[[1]]
# function (.) 
# group_by(., am, gear)
要查看所有步骤,请使用
函数(操作)
或键入名称:

action
# Functional sequence with the following components:
# 
#  1. group_by(., am, gear)
#  2. summarise(., mean = mean(mpg), sd = sd(mpg))
# 
# Use 'functions' to extract the individual functions. 

那就行了!非常整洁。
action[[1]]
# function (.) 
# group_by(., am, gear)
action
# Functional sequence with the following components:
# 
#  1. group_by(., am, gear)
#  2. summarise(., mean = mean(mpg), sd = sd(mpg))
# 
# Use 'functions' to extract the individual functions.