绘图的结果可以正常排列在网格中。ctree
我目前有一个问题,将包中的函数结果绘制party
在网格中。这个问题是 6 年零 8 个月前的一个问题的副本(Plot of BinaryTree (ctree, party) 忽略了 par() 的 plot 选项)。选择 gridExtra 可以提供解决方案。然而,到目前为止,还没有针对这个问题给出解决方案。考虑下面的例子。
library(party)
library(gridExtra)
#Create random dataframe
dfA <- data.frame(x=c(rnorm(50, 5), rnorm(50, 2)),
y=c(rbinom(50, 1, .9), rbinom(50, 1, .1)))
#Duplicate dataframe
dfB <- dfA
#Plot in base R wit par (does not work)
par(mfrow = c(1, 2))
plot(party::ctree(y~x, data=dfA))
plot(party::ctree(y~x, data=dfB))
#Try to organize in a grid wit gridExtra (does not work)
treeA <- party::ctree(y~x, data=dfA)
treeB <- party::ctree(y~x, data=dfB)
grobA <- arrangeGrob(plot(treeA))
grobB <- arrangeGrob(plot(treeB))
grid.arrange(grobA, grobB, ncol=2)
Error in gList(list(wrapvp = list(x = 0.5, y = 0.5, width = 1, height = 1, :
only 'grobs' allowed in "gList"
并且arrangeGrob(plot(treeA))
还arrangeGrob(plot(treeB))
返回一个错误说明Error in vapply(x$grobs, as.character, character(1)) : values must be length 1, but FUN(X[[1]]) result is length 0
有人知道如何在网格中绘制 ctree 函数的结果吗?
先感谢您。