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

如何在R语言中按评分者与受试者重排数据集并设置自定义行名

数据重排解决方案:评分者转列,测量指标+受试者为行名

原始数据

首先构造并查看原始数据集:

data <- data.frame(rater=c("A", "B", "C", "A", "B", "C"),
                   subject=c(1, 1, 1, 2, 2, 2),
                   measurment1=c(1, 2, 3, 4, 5,6),
                   measurment2=c(11, 22, 33, 44, 55,66),
                   measurment3=c(111, 222, 333, 444, 555, 666))

data
#     rater   subject  measurment1 measurment2 measurment3
# 1     A       1           1          11         111
# 2     B       1           2          22         222
# 3     C       1           3          33         333
# 4     A       2           4          44         444
# 5     B       2           5          55         555
# 6     C       2           6          66         666

转换需求

需要将数据转换为以下格式:

  • 列:评分者(A、B、C)
  • 行名:测量指标+受试者编号(如measurment1_1)

目标格式示例:

data_transformed <- data.frame( A = c(1,11,111,4,44,444),
                                B = c(2,22,222,5,55,555),
                                C = c(3,33,333,6,66,666) 
)

row.names(data_transformed) <- c("measurment1_1", "measurment2_1", "measurment3_1", "measurment1_2", "measurment2_2", "measurment3_2") 

data_transformed
#                 A   B   C
# measurment1_1   1   2   3
# measurment2_1  11  22  33
# measurment3_1 111 222 333
# measurment1_2   4   5   6
# measurment2_2  44  55  66
# measurment3_2 444 555 666

实现代码

使用tidyverse包中的dplyr和tidyr工具完成转换,步骤如下:

  1. 加载依赖包
library(tidyverse)
  1. 链式操作完成数据转换
data_transformed <- data %>%
  # 将宽格式的测量指标转为长格式
  pivot_longer(cols = starts_with("measurment"), 
               names_to = "measurement", 
               values_to = "value") %>%
  # 将评分者转为列
  pivot_wider(names_from = rater, values_from = value) %>%
  # 合并测量指标和受试者编号,生成行名字符串
  mutate(row_id = paste(measurement, subject, sep = "_")) %>%
  # 调整列顺序,把行名列放在最前
  select(row_id, A, B, C) %>%
  # 将row_id列转为行名,并移除该列
  column_to_rownames(var = "row_id")
  1. 查看转换结果
data_transformed
#                 A   B   C
# measurment1_1   1   2   3
# measurment2_1  11  22  33
# measurment3_1 111 222 333
# measurment1_2   4   5   6
# measurment2_2  44  55  66
# measurment3_2 444 555 666

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:05:27