我有以下数据帧:

df = structure(list(qCountry = c("AT", "DE", "ES", "FI", "FR", "GR", 
"HU", "IR", "IT", "LV", "NL", "POL", "PT", "RO", "SWE"), Mean = c(1.34199395770393, 
1.37664132688321, 1.29144095341278, 1.42088404868674, 1.45019920318725, 
1.29786200194363, 1.24528301886792, 1.26937046004843, 1.38345864661654, 
1.39706780696396, 1.38751714677641, 1.30804248861912, 1.28609062170706, 
1.2320819112628, 1.32588699080158), Sd = c(0.474520963779525, 
0.484711259139164, 0.454549282145671, 0.493859200850428, 0.497678958439859, 
0.45742966912063, 0.430377930416405, 0.443767080631815, 0.48638085640142, 
0.489439780963027, 0.487350499450418, 0.461801022550429, 0.452051373271304, 
0.422281105345888, 0.468859354590332)), class = c("tbl_df", "tbl", 
"data.frame"), row.names = c(NA, -15L))

我想结合geom_pointgeom_errorbar来绘制它.这不是问题.然而,x轴是一个连续变量,而我希望ggplot只显示1和2对应的两个标签"是"和"否".我try 了以下方法,但无效:


df %>% ggplot(aes(x = reorder(qCountry,-Mean), y = Mean, group = qCountry)) + geom_point(size = 3.5) +
  geom_errorbar(aes(ymin=Mean-Sd, ymax=Mean+Sd)) + labs(title = "Some Title",x = "", y="") + scale_y_discrete(labels= c("Yes", "No")) + coord_flip() + theme_classic2()


有人能帮我吗?

谢谢

推荐答案

你不能有一个离散轴.但是你可以重新标记一个连续轴,这样1表示"否",2表示"是"

df %>% 
  ggplot(aes(x = reorder(qCountry,-Mean), y = Mean, group = qCountry)) + 
  geom_point(size = 3.5) +
  geom_errorbar(aes(ymin=Mean-Sd, ymax=Mean+Sd)) + 
  labs(title = "Some Title",x = "", y="") + 
  scale_y_continuous(breaks = c(1, 2), 
                     labels = c("No", "Yes"), limits = c(0.8, 2)) +
  coord_flip() + 
  theme_classic(base_size = 20)

enter image description here

作为警告,你可能想看看你是如何计算标准偏差的,因为你的误差条延伸到1以下,这是没有意义的.你可能想计算出二项置信区间.

R相关问答推荐

更改Heatmap Annotation对象的名称

在(g)子中使用asserable字符

R中具有gggplot 2的Likert图,具有不同的排名水平和显示百分比

R s iml包如何处理语法上无效的因子级别?'

当我们有多个特殊字符时,使用gsub删除名称和代码'

从外部文件读取多个值作为字符向量

如何使用tryCatch执行语句并忽略警告?

在保留列表元素属性的同时替换列表元素

从多层嵌套列表构建Tibble?

如何使这些react 表对象相互独立?

来自程序包AFEX和amp;的类/函数和NICE_TABLE&冲突

防止在更新SHINY中的Reactive Value的部分内容时触发依赖事件

从线的交点创建面

是否有一个R函数可以输出在输入的字符向量中找到的相应正则表达式模式?

在不带max()的data.table中按组查找最后一个元素

汇总数据:在跨越()all_of()Dynamic_list_of_vars=>;所选内容不能有缺失值的汇总()中出错

使用nls()函数的非线性模型的半正态图

从不同长度的列中随机排序特定数量的元素

通过判断行的值将数据从宽格式转换为长格式

如何 suppress 条形图中的零条?