gpt4 book ai didi

r - 在 ggplot2 的分面点图中绘制顺序

转载 作者:行者123 更新时间:2023-12-04 14:19:03 27 4
gpt4 key购买 nike

我正在尝试在 ggplot2 中创建一个多面点图,但无法获得内面
类别以我想要的顺序出现。绘制点图的代码是:

g <- ggplot(df2, aes(x=Y, y=label)) + geom_point() 
g <- g + facet_grid(incentive ~ ., scale="free")
g <- g + geom_errorbarh(aes(xmax = Y + se, xmin = Y - se))
g <- g + geom_vline(xintercept=1/6, linetype=2, colour="red")
g <- g + opts(title="% Subjects Choosing Non-Focal Image",
strip.text.y = theme_text()
) + xlab("%") + ylab("Groups")
print(g)

该图的问题在于,在“仅限货币”方面,1 美分和 5 美分类别的顺序错误。问题似乎不是因素本身的顺序,因为:
> levels(df2$label)
[1] "0" "1" "1 cent" "5 cent" "6"
>

alt text

更新 :对因子进行排序似乎不会改变绘图顺序,即使用 label3 绘图,其中:

df2$label3 1 0 1 1 cent 5 cent 6
Levels: 0 < 1 < 1 cent < 5 cent < 6


>str(df2$label3)
Ord.factor w/ 5 levels "0"<"1"<"1 cent"<..: 1 2 3 4 5

实际数据框:
df2 <- structure(list(Y = c(0.0869565217391304, 0.148148148148148, 0.172413793103448, 
0.384615384615385, 0.5625), group = c(0L, 1L, 5L, 3L, 6L), se = c(0.0856368459098186,
0.079039229753282, 0.0762650540661762, 0.0805448741815074, 0.0726021684593052
), nudged = c(FALSE, TRUE, TRUE, TRUE, TRUE), incentive = structure(c(1L,
2L, 3L, 3L, 4L), .Label = c("Default behavior", "Imbalance only",
"Money only", "Money & Imbalance together"), class = "factor"),
label = structure(1:5, .Label = c("0", "1", "1 cent", "5 cent",
"6"), class = "factor"), plot_order = c(0, 1, 2, 3, 4)), .Names = c("Y",
"group", "se", "nudged", "incentive", "label", "plot_order"),
row.names = c("as.factor(group)0",
"as.factor(group)1", "as.factor(group)5", "as.factor(group)3",
"as.factor(group)6"), class = "data.frame")

最佳答案

您的问题是 facet_grid正在以与激励值的顺序(0、1 美分、5 美分等)相冲突的顺序绘制激励类型(“默认行为”等),这就是为什么您没有得到您的排序想要在 Money Only 组中。修复它的最简单方法是重新订购您的 incentive因素,以便将默认行为绘制在底部而不是顶部:

df2$incentive <- ordered( df2$incentive,
levels = rev(c("Default behavior", "Imbalance only",
"Money only", "Money & Imbalance together")))

并保留其余代码原样。然后你得到这个情节:
alt text

关于r - 在 ggplot2 的分面点图中绘制顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4774804/

27 4 0
文章推荐: sql - oracle sql 按偏好搜索
文章推荐: git - 重命名所有文件后git merge
文章推荐: mobile - 将多个 .MOBI 文件合并为一个
文章推荐: SQL 服务器 : difference between DELETE and DELETE from