我已经整理了一个图来分别查看组,但现在想要在图中包含平均成对比较的显着性水平。虽然我可以在情节之外进行比较,但我想知道在情节中包含比较的最有效方法是什么?
当前情节
library(tidyverse)
dsub <- diamonds[ sample(nrow(diamonds), 10000), ]
dsub <- dsub %>%
filter(clarity %in% c('VS2', 'VS1', 'VVS2'))
ggplot(dsub, aes(x = cut, y = carat, fill = clarity)) +
geom_boxplot(outlier.size = 0) +
geom_point(pch = 21, position = position_jitterdodge())
Run Code Online (Sandbox Code Playgroud)
现在,我想补充的比较,每个等级内的的cut变量各个层次之间的的clarity变量。我更喜欢使用,ggpubr但看不到哪里可以实现。
我正在尝试组合一个将复制以下内容的函数
library(tidyverse)
library(magrittr)
library(data.table)
library(parallel)
library(RcppRoll)
windows <- (1:10)*600
df2 <- setDT(df_1, key=c("Match","Name"))[
,by=.(Match, Name), paste0("Period_", 1:10)
:= mclapply((1:10)*600, function(x) roll_mean(Dist, x))][]
Run Code Online (Sandbox Code Playgroud)
它根据分配给windows
我的工作函数创建一个滚动平均值,然后我会感觉有一个更好的方法,因为函数版本需要花费近30倍的时间来处理数据
dt_rolling <- function(df, the.keys, x, y, z, window){
df <- data.table(df)
setkeyv(df, the.keys)
df[,by=.(x,y), paste0("Period_", window) := mclapply(window, function(a) roll_mean(z, a))][]
}
df2 <- dt_rolling(df_1, the.keys=c('Match', 'Name'), df_1$Match, df_1$Name, df_1$Dist, windows)
Run Code Online (Sandbox Code Playgroud)
有问题的数据看起来像这样
> dput(head(df_1, 5))
structure(list(Match = c("BathH", "BathH", "BathH", "BathH",
"BathH"), Name = c("Alafoti Faosiliva", "Alafoti Faosiliva",
"Alafoti Faosiliva", "Alafoti Faosiliva", "Alafoti Faosiliva"
), …Run Code Online (Sandbox Code Playgroud)