如何使用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值?的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用ggplot2可视化凹凸图(bumps chart凹凸图是一种特殊形式的线图,旨在探索随着时间的推移等级的变化)并设置凹凸图的线条为曲线而不是直线(change into curves)
如何在 grafana 中为 Loki 的 json 日志绘制图表?
如何从ggplot2中的两个不同的二进制值列绘制百分比堆积条形图?