gpt4 book ai didi

r - 如何使用 R 和 ggplot2 创建绘图矩阵

转载 作者:行者123 更新时间:2023-12-02 04:25:37 25 4
gpt4 key购买 nike

我试图将 n 个连续的地块排列成一个单一的地块矩阵。我通过运行 for 循环首先获得了这些图,但我不知道如何将它们排列成一个“图的图”。我使用过 par(mfrow=c(num.row,num.col)) 但它不起作用。还有 multiplot(plotlist = p, cols = 4) 和 plot_grid(plotlist = p)

#import dataset
Survey<-read_excel('datasets/Survey_Key_and_Complete_Responses_excel.xlsx',
sheet = 2)

#Investigate how the dataset looks like
glimpse(Survey)#library dplyr

#change data types
Survey$brand <- as.factor(Survey$brand)
Survey$zipcode <- as.factor(Survey$zipcode)
Survey$elevel <- as.factor(Survey$elevel)
Survey$car <- as.numeric(Survey$car)

#Relation brand-variables
p = list()
for(i in 1:ncol(Survey)) {

if ((names(Survey[i])) == "brand"){
p[[i]]<-ggplot(Survey, aes(x = brand)) + geom_bar() +
labs(x="Brand")

} else if (is.numeric(Survey[[i]]) == "TRUE"){
p[[i]]<-ggplot(Survey, aes(x = Survey[[i]], fill=brand)) + geom_histogram() +
labs(x=colnames(Survey[i]))

} else {
p[[i]]<-ggplot(Survey, aes(x = Survey[[i]], fill = brand)) + geom_bar() +
labs(x=colnames(Survey[i]))
}
}

我认为图已正确附加到列表中,但我无法以矩阵形式绘制它们。

最佳答案

问题似乎不在于您的多个绘图,而在于您如何将变量调用到绘图中。

您已经将“调查”作为第一个参数(数据槽)放入 ggplot。在映射参数(第二个槽)中,您输入 aes(...) 并且在里面您应该指定变量名称,而不是数据本身。所以试试这个:

哪里有aes(x = Survey[[i]], fill=brand))在两个地方,
aes(x = names(Survey[[i]], fill=brand))反而。

关于绘制多个图,par(mfrow...用于基础 R 图,不能用于 ggplots。一旦您修复了图中的错误,grid.arrange、multiplot 和 plot_grid 都应该可以工作。

关于r - 如何使用 R 和 ggplot2 创建绘图矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54744345/

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