p pgc1_rsq meta_rsq values Type mydata mydata$p plot plot +geom_bar(stat -6ren">
gpt4 book ai didi

重新排序条形图 - R、ggplot、位置 = "dodge"

转载 作者:行者123 更新时间:2023-12-01 04:49:00 30 4
gpt4 key购买 nike

我使用以下代码制作了一个数据框:

> p <- rep(c("5e-8", "0.05", "1"), 2)
> pgc1_rsq <- c(0.0037, 0.0726, 0.0847)
> meta_rsq <- c(0.0263, 0.1829, 0.1753)
> values <- c(pgc1_rsq, meta_rsq)
> Type <- c(rep("PGC1", 3), rep("PGC meta-analysis", 3))
> mydata <- data.frame(p, values)
> mydata$p <- factor(mydata$p, levels = c("5e-8", "0.05", "1"))

我使用以下代码创建了一个条形图:
> plot <-ggplot(mydata, aes(p, values))
> plot +geom_bar(stat = "identity", aes(fill = Type), position = "dodge") + xlab("P-value threshold") + ylab("Proportion of variance explained (Nagelkerke Rsq)")

产生了这个情节:
Bar plot

我现在想重新排序条形 - 以便“PGC1”出现在每对中的“PGC 荟萃分析”之前。我已经尝试使 PGC1 首先出现“值”和“类型”因素和排序级别,如下所示:
> mydata$value <- factor(mydata$value, levels = c("pgc1_rsq", "pgc_meta"))

但这给了我一 strip 有“类型”的错误消息,并没有产生带有“值”的预期结果。

输入和建议将不胜感激。谢谢。

最佳答案

为什么不包括 Type在您的 dataframe :

p <- rep(c("5e-8", "0.05", "1"), 2)
pgc1_rsq <- c(0.0037, 0.0726, 0.0847)
meta_rsq <- c(0.0263, 0.1829, 0.1753)
values <- c(pgc1_rsq, meta_rsq)
Type <- c(rep("PGC1", 3), rep("PGC meta-analysis", 3))
mydata <- data.frame(p, values,Type)
mydata$Type <- factor(mydata$Type, levels = c("PGC1","PGC meta-analysis"))
mydata$p <- factor(mydata$p, levels = c("5e-8", "0.05", "1"))

plot <-ggplot(mydata, aes(p, values))
plot +geom_bar(stat = "identity", aes(fill = Type), position = "dodge") + xlab("P-value threshold") + ylab("Proportion of variance explained (Nagelkerke Rsq)")

关于重新排序条形图 - R、ggplot、位置 = "dodge",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43527099/

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