【发布时间】:2020-09-28 15:33:45
【问题描述】:
我正在尝试同时使用 facet_wrap 和 stat_compare_means,但我遇到了问题。 数据的两侧没有相同数量的点。因此 stat_compare_means 失败...... 以图片为例:
Type1“B”有3个点,Type2“B”只有1个点。 这种差异使得几乎所有的 t 检验都失败并且没有被绘制出来。 我需要的是具有匹配点数的组的 t 检验(在这种情况下 Type1 上的所有 t 检验,Type2 中的 A vs C)。 使用的情节如下:
library(RColorBrewer)
library(ggpubr)
library(BBmisc)
adf=read.csv("test1.txt", sep=" ")
myColors <- brewer.pal(length(unique(adf$ID)) ,"Set1")
names(myColors) <- unique(adf$ID)
colScale <- scale_colour_manual(name = "ID",values = myColors)
my_comparison=as.data.frame(combn(unique(adf$sampletype) ,2))
my_comparison=convertColsToList(my_comparison)
ggplot(adf, aes(x=sampletype, y=value, fill=sampletype ))+
geom_point(aes(group=ID, colour=ID))+
geom_line(aes(group=ID, colour=ID))+
facet_wrap(~response, scale="free")+
colScale+
ggtitle("Entropy")+
theme(text = element_text(size=20))+
stat_compare_means(comparisons = my_comparison, method = "t.test", paired = TRUE)
数据(另存为test1.txt):
sampletype value ID response
A 8.192 gr_6 Type2
B 13.99 gr_6 Type2
C 9.186 gr_6 Type2
A 5.616 gr_5 Type1
B 15.55 gr_5 Type1
C 7.126 gr_5 Type1
A 5.484 gr_4 Type1
B 12.54 gr_4 Type1
C 4.492 gr_4 Type1
A 9.949 gr_3 Type2
C 6.631 gr_3 Type2
A 2.533 gr_7 Type2
C 12.25 gr_7 Type2
A 2.196 gr_2 Type2
C 6.447 gr_2 Type2
A 11.20 gr_1 Type1
B 16.63 gr_1 Type1
C 6.637 gr_1 Type1
有解决办法吗?
【问题讨论】:
-
您是否尝试过仅使用
ggpubr构建绘图而不将其添加到使用 ggplot 构建的绘图中?见这里stackoverflow.com/questions/64051045/… -
但是有了这个答案,我将不得不为每个响应构建一个 ggpubr 图,而不是使用 facet_wrap。它可能会解决我的问题,但在这一点上,我也可以拆分数据并继续使用 ggpplot。还是不行?
-
您可以通过在第一个 ggpubr 调用中添加
facet.by=或按照此处所述单独添加 rpkgs.datanovia.com/ggpubr/reference/facet.html 在 ggpubr 中进行构面 -
我尝试运行页面中的代码,因为我不太了解 ggpubr,我最终出现:错误:
mutate()输入问题data。 x "_tidyr_melt_dataframe" 未从当前命名空间 (tidyr) 中解析 ℹ 输入data是map(.data$data, .f, ...)。运行rlang::last_error()以查看错误发生的位置。