我一直在使用R-markdown来生成HTML报告。但是,由于数据集庞大,因此使用完整数据构建箱形图会花费大量时间,这使其不可行。因此,我决定预先计算摘要数据,并使用R中的PLOTLY从四分位数,均值,中值和离群值数据构建盒线图。但是,当试图将离群值放置在每组盒线图的正确x轴位置时,我很费力。 / p>
下面,我提供一些示例代码
library(plotly)
library(data.table)
# use summary data for plotly boxplots
# Simulate data.
n <- 10e5
dt <- data.table(trait=rnorm(n),
year=sample(2016:2019, n, replace=TRUE),
line=factor(sample(letters[1:3], n, replace=TRUE)))
# calculate summary data (summary + outliers) separately
stats <- dt[, boxplot.stats(trait)[1], by=.(year, line)]
out <- dt[, boxplot.stats(trait)[4], keyby=.(year, line)]
# create and plot the BOXPLOT
plot_ly() %>%
add_trace(data=stats, x=~year, y=~stats, color=~line, type="box") %>%
layout(boxmode="group") %>%
add_markers(data=out, x=~year, y=~out, color=~line) %>%
config(displayModeBar=FALSE, showTips=FALSE)
结果是将每年的离群值放置在相同的x轴位置上的组进行箱线图绘制,但不对每个行组进行细分。
有人知道如何使add_markers()将那些预先计算的离群点放置在箱图中的正确位置吗?