尽管至少有一个先前的帖子中已经回答了我提出的基本问题,但那里描述的方法对我没有起作用,这里讨论的解决方案也是如此。
为了参考,我正在尝试使用R中的
这是我使用的数据框的简化版本:
当我尝试添加图中顶部显示的显著性比较/关系条时,出现了问题。当我尝试只添加星号和顶部条(不包括第二层分支)使用以下代码时,它返回下面列出的错误并仅在适当位置显示星号。 代码:
为了参考,我正在尝试使用R中的
ggplot2
重新创建此处链接的图形。这是我使用的数据框的简化版本:
df <-data.frame(
Related = c("Rel","Rel","Unrel","Unrel"),
Integrated = c("Integ", "Unint", "Integ", "Unint"),
Rate = c(11,8,6,4),
SE = c(1.5,1.4,1.3,1.2))
就条形图、SE误差线、坐标轴和一般格式而言,我已经通过以下方法基本上实现了所需的内容(请注意,我是单独处理x轴标签和报告的p值):
dodge <- position_dodge(width = 0.9)
g1 <- ggplot(data = df, aes(x = interaction(Integrated, Related), y = Rate, fill = interaction(Integrated, Related)))
g1 <- g1 + layer(geom="bar", stat="identity", position = position_dodge())
g1 <- g1 + scale_fill_manual(values=c("#990000", "#CC6666", "#000099", "#9999CC"))
g1 <- g1 + guides(fill=FALSE)
g1 <- g1 + geom_errorbar(aes(ymax = Rate + SE, ymin = Rate - SE), position = dodge, width = 0.2)
g1 <- g1 + coord_cartesian(ylim = c(0, 15))
g1 <- g1 + scale_y_continuous(breaks=seq(0, 14, 2))
g1 <- g1 + theme_classic()
g1 <- g1 + theme(text = element_text(size=20))
g1 <- g1 + ylab("Mismatch effect (%)")
g1 <- g1 + theme(axis.title.y=element_text(vjust=1.5))
g1 <- g1 + theme(plot.margin = unit(c(1, 1, 4, 1), "lines"),
axis.title.x = element_blank(),
axis.text.x = element_blank())
当我尝试添加图中顶部显示的显著性比较/关系条时,出现了问题。当我尝试只添加星号和顶部条(不包括第二层分支)使用以下代码时,它返回下面列出的错误并仅在适当位置显示星号。 代码:
g1 + geom_path(x=c(1.5,1.5,3.5,3.5),y=c(13,14,14,13))+ annotate("text",x=2.5,y=15,label="*")
错误:
geom_path: 每个组只包含一个观测值。你需要调整组的美学吗?
在研究可能的问题来源后(例如上面链接的帖子),我尝试创建一个单独的 df
并明确地引用它,如下所示:
代码:
data2 <- data.frame(x = c(1.5, 1.5, 3.5, 3.5), y = c(13, 14, 14, 13))
g1 + geom_path(data = data2, aes(x = x, y = y))
但是,我又收到了一个错误:
错误信息:
交互(综合、相关)出错:找不到对象“Integrated”
我已经花费了很多时间尝试解决这个问题,但没有成功。我希望能够重新创建上面链接的图片。非常感谢任何帮助。