You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中计算每个实验块的反应时间中位数并绘制变化趋势图

R分析反应时间数据:计算各实验块中位数并绘制趋势图

1. 先明确数据结构(附示例数据)

假设你的数据框是宽格式:每一列对应一个实验块(block1到block10),每列有3个值(对应该块的3次按键反应时间)。先模拟一份示例数据方便你对照:

# 设置随机种子保证结果可重复
set.seed(123)
rt_data <- data.frame(
  block1 = rnorm(3, mean = 300, sd = 50),
  block2 = rnorm(3, mean = 280, sd = 40),
  block3 = rnorm(3, mean = 260, sd = 35),
  block4 = rnorm(3, mean = 250, sd = 30),
  block5 = rnorm(3, mean = 245, sd = 25),
  block6 = rnorm(3, mean = 240, sd = 25),
  block7 = rnorm(3, mean = 238, sd = 22),
  block8 = rnorm(3, mean = 235, sd = 20),
  block9 = rnorm(3, mean = 232, sd = 18),
  block10 = rnorm(3, mean = 230, sd = 15)
)

2. 计算每个实验块的中位数

用apply函数按列计算中位数,再转换为适合绘图的长格式数据框:

# 按列计算中位数
block_medians <- apply(rt_data, 2, median)

# 转换为绘图用的数据框
median_df <- data.frame(
  block = factor(1:10, levels = 1:10), # 固定块号顺序
  median_rt = as.numeric(block_medians)
)

3. 绘制中位数趋势图

使用ggplot2包绘图,先安装(首次使用)再加载:

# 安装并加载绘图包
install.packages("ggplot2")
library(ggplot2)

# 绘制折线+点图展示趋势
ggplot(median_df, aes(x = block, y = median_rt, group = 1)) +
  geom_line(color = "darkblue", linewidth = 1) + # 折线展示趋势
  geom_point(color = "red", size = 3) + # 标记每个块的中位数
  labs(
    title = "各实验块中位数反应时间变化趋势",
    x = "实验块编号",
    y = "中位数反应时间(ms)"
  ) +
  theme_minimal() # 简洁美观的主题

如果你的数据是长格式(每行是一次按键记录)

如果你的数据是每行对应一次按键,包含block(块号)和rt(反应时间)两列,用dplyr分组计算中位数:

# 安装并加载dplyr
install.packages("dplyr")
library(dplyr)

# 示例长格式数据
long_rt_data <- data.frame(
  block = rep(1:10, each = 3),
  rt = c(rnorm(3,300,50), rnorm(3,280,40), rnorm(3,260,35), rnorm(3,250,30),
         rnorm(3,245,25), rnorm(3,240,25), rnorm(3,238,22), rnorm(3,235,20),
         rnorm(3,232,18), rnorm(3,230,15))
)

# 分组计算中位数
long_median_df <- long_rt_data %>%
  group_by(block) %>%
  summarize(median_rt = median(rt))

# 绘图代码和之前一致
ggplot(long_median_df, aes(x = block, y = median_rt, group = 1)) +
  geom_line(color = "darkblue", linewidth = 1) +
  geom_point(color = "red", size = 3) +
  labs(title = "各实验块中位数反应时间变化趋势", x = "实验块编号", y = "中位数反应时间(ms)") +
  theme_minimal()

内容的提问来源于stack exchange,提问作者Rory Holden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:32:20