当您只有每组的汇总统计数据时,2x2 交互图

问题描述 投票:0回答:1

认为这里有人可以给我一些线索。我一直在寻找 2x2 交互(即交叉)线图的好示例,但我找到的所有示例都假设您拥有参与者级别的数据,并且正在计算您想要绘制的平均值或比例。 我有许多 2x2 的均值和比例表,我想绘制它们(每个表一个)。抛开多次测试的问题,有很多图表可供查看,等等,任何人都可以指出我正确的方向吗? 我已经使用 ggplot2 绘制其他类型的图,但我用得不多。不知道现在是否有更好的软件包。

如果更多细节有帮助,我的 2x2 表包括模式(数据收集方法)的行和年份的列,我想制作一个类似于 here

的图

请参阅下面链接的表格中的示例表格和图表:

structure(list(...1 = c("Mode 1", "Mode 2"), 
    Year 1 = c(10, 40), Year 2 = c(20, 30)), 
    class = c("tbl_df", "tbl", "data.frame" ), 
    row.names = c(NA, -2L))

2x2 Plot from Table

r ggplot2 statistics visualization
1个回答
0
投票

我不想这么说,但这可能是 ChatGPT 或其他一些 LLM 可以很好回答的问题......下面唯一棘手的部分是(1)你必须将数据转换为长格式,(2)因为你的x 轴变量是分类变量,您需要显式指定

group
映射。

df <- structure(list(`...1` = c("Mode 1", "Mode 2"), 
    `Year 1` = c(10, 40), `Year 2` = c(20, 30)), 
    class = c("tbl_df", "tbl", "data.frame" ), 
    row.names = c(NA, -2L))
library(ggplot2)
theme_set(theme_bw()) ## cosmetic
## wide to long (and rename first column)
dfL <- tidyr::pivot_longer(df, -`...1`,
         names_to = "year") |>
    dplyr::rename(mode = "...1")
## plot
ggplot(dfL, aes(x = year, y = value)) +
   geom_line(aes(colour = mode, group = mode))

如果您不需要颜色,则不必指定该映射。

© www.soinside.com 2019 - 2024. All rights reserved.