在 R 中的 ggplot2 箱线图中使用 'difftime' 数据

Using 'difftime' data in a ggplot2 boxplot in R

我创建了一个 difftime 对象来确定报告已发生的犯罪所需的小时数。此外,在同一个数据集中,我有一个变量指示犯罪发生在工作日还是周末。现在我想创建一个 ggplot2 箱线图,在 x 轴上使用 'weekday' 和 'weekend',并在 y 轴上使用 difftime。

我用过: ggplot(data = data, aes(x = workday, y = difftime_var)) + geom_boxplot()

然而,这给出了警告:不知道如何自动为 difftime 类型的对象选择比例。默认为连续。

我想调整箱线图,使其看起来像 'real' 箱线图,显示平均花费的时间等。现在,它基本上是底部的一条平线上面有几个点的图表。 y 轴从 0 到 40 000。可能是因为 difftime 对象的最小值和最大值非常小/大。

在此先感谢您的帮助!

请为您的问题提供可重现的示例数据集。

我猜问题是 difftime 的范围很大,导致无法显示箱线图。您可以尝试的第一件事是

ggplot(data = data, aes(x = workday, y = difftime_var)) +       
geom_boxplot(outlier.shape=NA)

另一种(不优雅)的方法是对 yaxis 设置一个限制:

ggplot(data = data, aes(x = workday, y = difftime_var)) +       
geom_boxplot() + ylim(ymin, ymax)

更多信息,之前有人问过类似的问题: How to remove outliers in boxplot in R?