如何使用ggplot2随着时间的推移绘制p值?

Posted

技术标签:

【中文标题】如何使用ggplot2随着时间的推移绘制p值?【英文标题】:How to plot p-value over time using ggplot2? 【发布时间】:2021-10-27 01:00:49 【问题描述】:

所以我有一些看起来像这样的数据:

DATE        GROUP      Value    Visitors
2021-01-01  Treatment  12       40
2021-01-01  Control    4        43
2021-01-02  Treatment  7        34
2021-01-02  Control    2        39
2021-01-03  Treatment  10       23
2021-01-03  Control    10       29
2021-01-04  Treatment  19       30
2021-01-04  Control    7        23

如果将所有这些数据加起来,实验结束时的最终结果是

Group       Value Visitors Conversion (Value/Size)
Control     23    134      .172
Treatment   48    127      .378

所以我需要计算这个数据的 p 值和置信区间(即转换),不仅在实验结束时,而且在实验过程中,使用 t 检验。

我在这里寻找的是一个线图,它绘制了 p 值如何随时间累积变化。我真的想不出任何方法来绘制随时间变化的置信区间,所以一张每日表置信区间增长就足够了

【问题讨论】:

我无法理解每次应该是什么“p 值”(或置信区间)。你能展示一些建议的计算吗? 【参考方案1】:

这就是你要找的吗?

df <- read.table(textConnection('DATE        GROUP      Value    Visitors
2021-01-01  Treatment  12       40
2021-01-01  Control    4        43
2021-01-02  Treatment  7        34
2021-01-02  Control    2        39
2021-01-03  Treatment  10       23
2021-01-03  Control    10       29
2021-01-04  Treatment  19       30
2021-01-04  Control    7        23'),header=T)

library(tidyverse)
library(gridExtra)

new_df <- df %>%
mutate(Conversion=Value/Visitors) %>%
group_by(DATE,GROUP) %>%
summarise(Cumulative_Conversion=cumsum(Conversion),.groups='drop') %>%
group_by(DATE) %>%
summarise(P.Value=t.test(Cumulative_Conversion)$p.value,
          Conf.Int=t.test(Cumulative_Conversion)$conf.int,
          Mean=mean(Cumulative_Conversion),.groups='drop') 

new_df %>%
ggplot(aes(x=DATE,y=P.Value,fill=P.Value))+
geom_col() -> plot1 

new_df %>%
ggplot(aes(x=DATE,y=Mean,fill=Mean))+
geom_col()+
geom_point(aes(x=DATE,y=Conf.Int))+
geom_line(aes(x=DATE,y=Conf.Int)) -> plot2


final_plot <-grid.arrange(plot1,plot2)

final_plot

【讨论】:

这看起来很划算,但这会是线图吗?我想象 x 轴上的日期和 y 轴上的 p 值。随着新天数数据添加到累积计数中,p 值随时间绘制

以上是关于如何使用ggplot2随着时间的推移绘制p值?的主要内容,如果未能解决你的问题,请参考以下文章

Tkinter — 随着时间的推移执行函数

R语言使用ggplot2可视化凹凸图(bumps chart凹凸图是一种特殊形式的线图,旨在探索随着时间的推移等级的变化)并设置凹凸图的线条为曲线而不是直线(change into curves)

如何在 grafana 中为 Loki 的 json 日志绘制图表?

如何从ggplot2中的两个不同的二进制值列绘制百分比堆积条形图?

Python随着时间的推移在Scatter3d中绘制动画标记样式或点

如何使用 ggplot2 为散点图绘制多条趋势线?