gpt4 book ai didi

r - par(mfcol=c(2,1)) 和空白的第二行

转载 作者:行者123 更新时间:2023-12-04 05:26:14 24 4
gpt4 key购买 nike

我想知道为什么下面的代码不会产生一个在另一个下面的两个图。

data(mtcars)
library(randomForest)

mtcars.rf <- randomForest(mpg ~ ., data=mtcars, ntree=1000, keep.forest=FALSE,
importance=TRUE)
png("rf1.png", width=6, height=6, units="in", res=100)
par(mfcol=c(2,1))
varImpPlot(mtcars.rf)
plot(mtcars.rf, log="y")
dev.off()

这只是产生

enter image description here

带有空白的第二行。

最佳答案

问题在于 varImpPlot 重新定义了绘图区域,然后将其重置为以前的值。这意味着它就像你调用 par(mfcol=c(2,1))varImpPlot线。如果您提取 varImpPlot 绘图数据,您可以自己绘制两个点图(您可以使用 layout 而不是 par 将绘图区域分成不同形状的区域):

data(mtcars)
library(randomForest)

mtcars.rf <- randomForest(mpg ~ ., data=mtcars, ntree=1000, keep.forest=FALSE,
importance=TRUE)
varImpData <- varImpPlot(mtcars.rf) # calculate this outside the plot

png("rf1.png", width=6, height=6, units="in", res=100)
layout(matrix(c(1,2,3,3), 2, 2, byrow = TRUE))
dotchart(varImpData[,c(1)])
dotchart(varImpData[,c(2)])
plot(mtcars.rf, log="y")
dev.off()

关于r - par(mfcol=c(2,1)) 和空白的第二行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13175556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com