当前位置: 首页 > news >正文

R学习笔记-单因素重复测量方差分析

R语言之重复测量方差分析——ezANOVA的使用与解析 - 知乎

单因素重复测量方差分析(One-Way Repeated Measures ANOVA)——R软件实现 - 梦特医数通

### 清空environment
rm(list = ls())
### 加载包
if (!require("tidyverse")) install.packages("tidyverse")
library(tidyverse)#用于数据清理、操作、可视化和分析
if (!require("conflicted")) install.packages("conflicted")
library(conflicted)#让 R 遇到冲突时抛出错误,并让您明确选择要调用的函数
library(readxl)
if (!require("ez")) install.packages("ez")#用于方差分析
library(ez)

### 读取数据
file_path <- "D:/LLYdata/EEG_EMG_expdata/behavior/result/MATLAB/analysis_data.xlsx"
data <- read_excel(file_path, range = cell_rows(1:25))#读取excel的第1到25行的所有列
### 设置数据
# 选择需要的四列并转换为长格式
data_long <- data %>%rstatix::select(goRT_uni_gocorrect, goRT_i_clgocorrect, goRT_i_crgocorrect, goRT_onlygocorrect) %>%pivot_longer(cols = everything(), names_to = "condition", values_to = "RT") %>%mutate(subject = rep(1:(nrow(data)), each = 4))  # 为每个被试添加一个唯一的标识符

# 计算描述性统计
means <- c(mean(data$goRT_uni_gocorrect), mean(data$goRT_i_clgocorrect), mean(data$goRT_i_crgocorrect), mean(data$goRT_onlygocorrect))
sds <- c(sd(data$goRT_uni_gocorrect), sd(data$goRT_i_clgocorrect), sd(data$goRT_i_crgocorrect), sd(data$goRT_onlygocorrect))
ns <- rep(nrow(data), 4)
# 生成结果数据框
result <- data.frame(Condition = c("goRT_uni_gocorrect", "goRT_i_clgocorrect", "goRT_i_crgocorrect", "goRT_onlygocorrect"),Mean = means,SD = sds,N = ns
)# 使用 ezANOVA 进行单因素重复测量方差分析
anova_results <- ezANOVA(data = data_long,dv = RT,       # 因变量wid = subject,           # 受试者within = condition,      # 重复测量因素detailed = TRUE
)
# 成对比较
AOV<-aov(RT ~ condition,data_long) #检验不同时间之间的差异

# 打开文件以写入
sink(output_file)
# 添加自定义文本
cat("###Condition (uni/i_cl/i_cr/onlygo) 的重复测量方差分析###\n\n")
# 描述性结果
cat("Condition\tMean\tSD\tN\n")
for (i in 1:nrow(result)) {cat(paste(result$Condition[i], "\t", round(result$Mean[i], 2), "\t", round(result$SD[i], 2), "\t", result$N[i], "\n"))
}
# 方差分析结果
print(anova_results)
# 事后两两比较结果
TukeyHSD(AOV,p.adjust.methods="bonferroni") 
# 关闭文件
sink()

# 保留的变量
keep_vars <- c("data", "file_path", "output_file")
# 获取当前环境中的所有变量
all_vars <- ls()
# 找出需要删除的变量
vars_to_remove <- setdiff(all_vars, keep_vars)
# 删除不需要的变量
rm(list = vars_to_remove)

rm(list = ls())#清空environment
### 加载包
if (!require("tidyverse")) install.packages("tidyverse")
library(tidyverse)#用于数据清理、操作、可视化和分析
if (!require("conflicted")) install.packages("conflicted")
library(conflicted)#让 R 遇到冲突时抛出错误,并让您明确选择要调用的函数
library(readxl)
library(ez)### 读取数据
file_path <- "D:/LLYdata/EEG_EMG_expdata/behavior/result/MATLAB/analysis_data.xlsx"
data <- read_excel(file_path, range = cell_rows(1:25))#读取excel的第1到25行的所有列
# 设置结果输出文件路径
output_file <- "D:/LLYdata/EEG_EMG_expdata/behavior/result/R/results.txt"################################################################
###go RT: Condition (uni/i_cl/i_cr/onlygo) 的重复测量方差分析###
################################################################
# 计算描述性统计
means <- c(mean(data$goRT_uni_gocorrect), mean(data$goRT_i_clgocorrect), mean(data$goRT_i_crgocorrect), mean(data$goRT_onlygocorrect))
sds <- c(sd(data$goRT_uni_gocorrect), sd(data$goRT_i_clgocorrect), sd(data$goRT_i_crgocorrect), sd(data$goRT_onlygocorrect))
ns <- rep(nrow(data), 4)
# 生成结果数据框
result <- data.frame(Condition = c("goRT_uni_gocorrect", "goRT_i_clgocorrect", "goRT_i_crgocorrect", "goRT_onlygocorrect"),Mean = means,SD = sds,N = ns
)# 选择需要的四列并转换为长格式
data_long <- data %>%rstatix::select(goRT_uni_gocorrect, goRT_i_clgocorrect, goRT_i_crgocorrect, goRT_onlygocorrect) %>%pivot_longer(cols = everything(), names_to = "condition", values_to = "RT") %>%mutate(subject = rep(1:(nrow(data)), each = 4))  # 为每个被试添加一个唯一的标识符# 使用 ezANOVA 进行单因素重复测量方差分析
anova_results <- ezANOVA(data = data_long,dv = RT,       # 因变量wid = subject,           # 受试者within = condition,      # 重复测量因素detailed = TRUE
)
# 成对比较
AOV<-aov(RT ~ condition,data_long) #检验不同时间之间的差异# 打开文件以写入
sink(output_file)
# 添加自定义文本
cat("###Condition (uni/i_cl/i_cr/onlygo) 的重复测量方差分析###\n\n")
# 描述性结果
cat("Condition\tMean\tSD\tN\n")
for (i in 1:nrow(result)) {cat(paste(result$Condition[i], "\t", round(result$Mean[i], 2), "\t", round(result$SD[i], 2), "\t", result$N[i], "\n"))
}
# 方差分析结果
print(anova_results)
# 事后两两比较结果
TukeyHSD(AOV,p.adjust.methods="bonferroni") 
# 关闭文件
sink()

相关文章:

R学习笔记-单因素重复测量方差分析

R语言之重复测量方差分析——ezANOVA的使用与解析 - 知乎 单因素重复测量方差分析(One-Way Repeated Measures ANOVA)——R软件实现 - 梦特医数通 ### 清空environment rm(list ls()) ### 加载包 if (!require("tidyverse")) install.packages("tidyverse&quo…...

HTML练习题:彼岸的花(web)

展示效果: 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>彼岸の花</title><style…...

(蓝桥杯C/C++)——常用库函数

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、 二分查找 1.二分查找的前提 2.binary_ search函数 3.lower_bound和upper_bound 二、排序 1.sort概念 2.sort的用法 3.自定义比较函数 三、全排列 1.next p…...

GPT-Sovits-2-微调模型

1. 大致步骤 上一步整理完数据集后&#xff0c;此步输入数据, 微调2个模型VITS和GPT&#xff0c;位置在 <<1-GPT-SoVITS-tts>>下的<<1B-微调训练>> 页面的两个按钮分别执行两个文件: <./GPT_SoVITS/s2_train.py> 这一步微调VITS的预训练模型…...

【数据结构 | PTA】懂蛇语

懂蛇语 在《一年一度喜剧大赛》第二季中有一部作品叫《警察和我之蛇我其谁》&#xff0c;其中“毒蛇帮”内部用了一种加密语言&#xff0c;称为“蛇语”。蛇语的规则是&#xff0c;在说一句话 A 时&#xff0c;首先提取 A 的每个字的首字母&#xff0c;然后把整句话替换为另一…...

Python——自动化发送邮件

在数字化时代&#xff0c;电子邮件是商务沟通和个人联络的重要工具。自动化邮件发送可以节省时间&#xff0c;提高效率。Python&#xff0c;作为一种强大且灵活的编程语言&#xff0c;提供了多种库来支持邮件的自动化发送。本文将详细介绍如何使用Python的smtplib和email库来编…...

MTKLauncher_布局页面分析

文章目录 前言遇到的困难点针对性解决困难 需求相关资料Launcher3 源码 目录简单介绍Launcher3 简介及页面布局分析UI整体架构数据加载布局加载布局加载核心思想device_profiles.xml 加载InvariantDeviceProfileinitGrid(context, gridName)getPredefinedDeviceProfilesinvDist…...

C#实现隐藏和显示任务栏

实现步骤 为了能够控制Windows任务栏&#xff0c;我们需要利用Windows API提供的功能。具体来说&#xff0c;我们会使用到user32.dll中的两个函数&#xff1a;FindWindow和ShowWindow。这两个函数可以帮助我们找到任务栏窗口&#xff0c;并对其执行显示或隐藏的操作 引入命名空…...

基于springboot+vue实现的公司财务管理系统(源码+L文+ppt)4-102

基于springbootvue实现的公司财务管理系统&#xff08;源码L文ppt&#xff09;4-102 摘要 本系统是基于SpringBoot框架开发的公司财务管理系统,该系统包含固定资产管理、资产申领管理、资产采购管理、员工工资管理等功能。公司财务管理系统是一种帮助公司进行有效资金管理、会…...

rnn/lstm

tip&#xff1a;本人比较小白&#xff0c;看到july大佬的文章受益匪浅&#xff0c;现在其文章基础上加上自己的归纳、理解&#xff0c;以及gpt的答疑&#xff0c;如果有侵权会删。 july大佬文章来源&#xff1a;如何从RNN起步&#xff0c;一步一步通俗理解LSTM_rnn lstm-CSDN博…...

袋鼠云产品功能更新报告12期|让数据资产管理更高效

本期&#xff0c;我们更新和优化了数据资产平台相关功能&#xff0c;为您提供更高效的产品能力。以下为第12期袋鼠云产品功能更新报告&#xff0c;请继续阅读。 一、【元数据】重点更新 &#xff5c;01 元数据管理优化&#xff0c;支持配置表生命周期 之前系统中缺少一个可以…...

MATLAB——入门知识

内容源于b站清风数学建模 目录 1.帮助文档 2.注释 3.特殊字符 4.设置MATLAB数值显示格式 4.1.临时更改 4.2.永久改 5.常用函数 6.易错点 1.帮助文档 doc sum help sum edit sum 2.注释 ctrl R/T 3.特殊字符 4.设置MATLAB数值显示格式 4.1.临时更改 format lon…...

C#从零开始学习(用户界面)(unity Lab4)

这是书本中第四个unity Lab 在这次实验中,将学习如何搭建一个开始界面 分数系统 点击球,会增加分数 public void ClickOnBall(){Score;}在OneBallBehaviour类添加下列方法 void OnMouseDown(){GameController controller Camera.main.GetComponent<GameController>();…...

Axure PR 9 多级下拉清除选择器 设计交互

大家好&#xff0c;我是大明同学。 Axure选择器是一种在交互设计中常用的组件&#xff0c;这期内容&#xff0c;我们来探讨Axure中选择器设计与交互技巧。 OK&#xff0c;这期内容正式开始 下拉列表选择输入框元件 创建选择输入框所需的元件 1.在元件库中拖出一个矩形元件。…...

分布式项目pom配置

1. 父项目打包方式为 pom <packaging>pom</packaging> 2. 父项目版本配置 <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncod…...

2. Flink快速上手

文章目录 1. 环境准备1.1 系统环境1.2 安装配置Java 8和Scala 2.121.3 使用集成开发环境IntelliJ IDEA1.4 安装插件2. 创建项目2.1 创建工程2.1.1 创建Maven项目2.1.2 设置项目基本信息2.1.3 生成项目基本框架2.2 添加项目依赖2.2.1 添加Flink相关依赖2.2.2 添加slf4j-nop依赖2…...

Java-I/O框架06:常见字符编码、字符流抽象类

视频链接&#xff1a;16.16 字符流抽象类_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tz4y1X7H7?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p16 1.常见字符编码 IOS-8859-1收录了除ASCII外&#xff0c;还包括西欧…...

计算机网络-MSTP的基础概念

前面我们大致了解了MSTP的由来&#xff0c;是为了解决STP/RSTP只有一根生成树导致的VLAN流量负载分担与次优路径问题&#xff0c;了解MSTP采用实例映射VLAN的方式实现多实例生成树&#xff0c;MSTP有很多的理论概念需要知道&#xff0c;其实与其它的知识一样理论复杂配置还好的…...

P1037 [NOIP2002 普及组] 产生数

[NOIP2002 普及组] 产生数 题目描述 给出一个整数 n n n 和 k k k 个变换规则。 规则&#xff1a; 一位数可变换成另一个一位数。规则的右部不能为零。 例如&#xff1a; n 234 , k 2 n234,k2 n234,k2。有以下两个规则&#xff1a; 2 ⟶ 5 2\longrightarrow 5 2⟶5。 …...

【分布式知识】分布式对象存储组件-Minio

文章目录 什么是minio核心特点&#xff1a;使用场景&#xff1a;开发者工具&#xff1a;社区和支持&#xff1a; 核心概念什么是对象存储&#xff1f;MinIO 如何确定对对象的访问权限&#xff1f;我可以在存储桶内按文件夹结构组织对象吗&#xff1f;如何备份和恢复 MinIO 上的…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...