【发布时间】:2018-09-20 23:29:11
【问题描述】:
使用GGally::ggpairs() 创建绘图矩阵后,我想存储各个散点图以供以后使用。
这是我当前的代码:
# load necessary package
library(GGally) # loads `ggplot2`
library(magrittr) # allows for the use of `%>%`
# create a matrix of plots
mtcars %>%
na.omit() %>%
ggpairs(columns = 1:7)
# how do I automate this process?
P1 <- ggplot(aes(x = disp, y = hp)) +
geom_point()
P2 <- ggplot(aes(x = drat, y = hp)) +
geom_point()
P3 <- ggplot(aes(x = hp, y = qsec)) +
geom_point()
我收到一条错误消息,指出数据必须是数据框。我尝试使用. 指定来自na.omit() 管道的数据,但我收到了相同的结果。
感谢任何建议!
【问题讨论】:
-
请提供部分或全部
UN3以提出此问题reproducible。 -
在您的代码示例中,管道在
ggpairs行结束。在接下来的 3 行中,您没有向data =参数传递任何内容(也许您的意思是data = mtcars?)。代码的意图不明确。 -
@neilfws 道歉我试图缩小代码以使其更具可读性,但忘记进行一些更改。我认为问题在于管道操作员在第一个 ggpairs 函数之后停止提供输出。我对你的理解正确吗?有没有办法引用每个ggplot中的数据?
-
正如 neilfws 所指出的,在将数据集传递给
ggpairs()后,您还不清楚您打算做什么。其输出是gg对象,而不是数据框。你的意思是你想覆盖不同的geom_point()层吗? (如果是这样,请包含您所需输出的草图。)您是否只想将数据集传递给ggplot()并添加三个不同的geom_point()层? (如果有,ggpairs()在代码中做了什么?) -
@Z.Lin 我的意图是创建一个
ggpairs()对象并独立创建ggplot对象以供以后使用。这可能吗?或者它要求太多了。为了清楚起见,我做了一些修改。