如何在R语言中转换多行数据格式以适配ANOVA分析
使用tidyverse整理ANOVA分析数据
可以通过dplyr的分组汇总功能快速实现你的需求,核心是按参与者ID和评分类型分组,然后统一替换问题范围并保留唯一的平均评分:
# 加载tidyverse包 library(tidyverse) # 处理数据 cleaned_data <- your_raw_data %>% # 按参与者ID和评分类型分组 group_by(`Participant ID`, Question_Rating_Type) %>% # 生成新列并保留唯一的平均评分 summarise( Question_range = "1 - 6", Avg_Participant_Rating = first(Avg_Participant_Rating), .groups = "drop" # 取消分组状态 )
代码说明:
group_by():指定分组依据,确保同一参与者同一种评分类型的行被归为一组summarise():生成新的Question_range列并赋值为"1 - 6";用first()提取组内第一个平均评分(因为你提到同一组内该值完全重复,取任意一个都可以).groups = "drop":处理完后取消分组,避免后续操作受分组状态影响
如果你的原始数据中同一分组内的Avg_Participant_Rating确实完全一致,也可以用distinct()简化操作:
cleaned_data <- your_raw_data %>% mutate(Question_range = "1 - 6") %>% # 添加问题范围列 select(-Question_number) %>% # 移除原问题编号列 distinct(`Participant ID`, Question_Rating_Type, .keep_all = TRUE) # 保留唯一行
内容的提问来源于stack exchange,提问作者Kay
相关产品推荐
相关产品推荐

