R语言单因素方差分析+差异显著字母法标注+逐行详细解释

news2024/9/22 21:30:00
  1. R语言单因素方差分析
    代码如下
df <- read.csv("data.csv",header = TRUE,row.names = 1)
library(reshape2)
df <- melt(df,id=c())
names(df) <- c('trt', 'val') 
df
aov1 <- aov(val~trt,data=df)
summary(aov1)

library(agricolae)
data <- LSD.test(aov1,'trt',p.adj = 'bonferroni')#'bonferroni'#对P值进行修正
data
print(data$groups)
plot(data)

开始逐行解释:
导入数据

#导入数据
df <- read.csv("data.csv",header = TRUE,row.names = 1)
df
> df
         a        b        c        d        e        f        k
1 3.186224 3.262900 2.397264 2.300343 1.806937 2.711331 2.945837
2 2.975125 3.068194 2.962235 2.233887 2.136561 4.185355 3.018140
3 3.150602 4.297190 2.518045 2.169607 2.473778 3.948050 2.785514

宽数据变为长数据,并且重命名

library(reshape2)
df <- melt(df,id=c())
names(df) <- c('trt', 'val') 
df
> df
   trt      val
2    a 2.975125
3    a 3.150602
4    b 3.262900
5    b 3.068194
6    b 4.297190
7    c 2.397264
8    c 2.962235
9    c 2.518045
10   d 2.300343
11   d 2.233887
12   d 2.169607
13   e 1.806937
14   e 2.136561
15   e 2.473778
16   f 2.711331
17   f 4.185355
18   f 3.948050
19   k 2.945837
20   k 3.018140
21   k 2.785514

查看方差分析结果:
其中Pr(>F)=0.00661<0.05,说明组间存在差异显著

aov1 <- aov(val~trt,data=df)
summary(aov1)
> summary(aov1)
            Df Sum Sq Mean Sq F value  Pr(>F)   
trt          6  6.096  1.0160   5.125 0.00661 **
Residuals   13  2.577  0.1982                   
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

查看组间差异结果并作字母标注

library(agricolae)#需要用的包
data <- LSD.test(aov1,'trt',p.adj = 'bonferroni')#'bonferroni'#对P值进行修正
data
> data#注意这个里面内容比较多,比较杂,可以通过print(data$groups)命令只查看组间差异结果
$statistics
    MSerror Df     Mean       CV
  0.1982471 13 2.867345 15.52828

$parameters
        test  p.ajusted name.t ntr alpha
  Fisher-LSD bonferroni    trt   7  0.05

$means
       val        std r        se      LCL      UCL      Min      Max      Q25      Q50      Q75
a 3.062863 0.12408098 2 0.3148389 2.382695 3.743032 2.975125 3.150602 3.018994 3.062863 3.106733
b 3.542761 0.66056761 3 0.2570649 2.987406 4.098116 3.068194 4.297190 3.165547 3.262900 3.780045
c 2.625848 0.29751332 3 0.2570649 2.070493 3.181203 2.397264 2.962235 2.457654 2.518045 2.740140
d 2.234612 0.06537102 3 0.2570649 1.679257 2.789967 2.169607 2.300343 2.201747 2.233887 2.267115
e 2.139092 0.33342770 3 0.2570649 1.583737 2.694447 1.806937 2.473778 1.971749 2.136561 2.305169
f 3.614912 0.79146850 3 0.2570649 3.059557 4.170267 2.711331 4.185355 3.329690 3.948050 4.066702
k 2.916497 0.11905604 3 0.2570649 2.361142 3.471852 2.785514 3.018140 2.865676 2.945837 2.981988

$comparison
NULL

$groups
       val groups
f 3.614912      a
b 3.542761     ab
a 3.062863    abc
k 2.916497    abc
c 2.625848    abc
d 2.234612     bc
e 2.139092      c

attr(,"class")
[1] "group"

#下面这个是单独查看groups的内容

#下面这个是单独查看groups的内容
print(data$groups)
> print(data$groups)
       val groups
f 3.614912      a
b 3.542761     ab
a 3.062863    abc
k 2.916497    abc
c 2.625848    abc
d 2.234612     bc
e 2.139092      c

接下来对上述结果进行详细解释:
groups这一列的结果可以理解为找同类,其中val这列是按照均值从大到小排列,先把最大的标记为a,然后,找f的同类,凡是同类都标为a,直到找到第一个异类,然后标记为b,同时停止往下再找f的同类了,然后,开始找标记为b的同类,也就是d: 2.234612同类,先往上找同类,找到的都标为b,直到找完为止,然后再往下找同类,直到找到第一个异类,然后标记为c,然后重复这种工作。最后,这个同类就是两者间是不否存在差异显著性,异类就是存在差异显著性。

最后,画图

plot(data)

在这里插入图片描述
画箱线图,并标记字母

p3=ggplot(df,aes(x=trt,y=val))+ geom_boxplot()+ 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        text=element_text(size=13.5),
        legend.position="None",
        legend.title= element_blank(),)+
  labs(y='val',x='trt')+
  annotate("text", label = "abc",x = 1, y = 3.2, size = 5)+
  annotate("text", label = "ab",x = 2, y = 4.35, size = 5)+
  annotate("text", label = "abc",x = 3, y = 3.03, size = 5)+
  annotate("text", label = "bc",x = 4, y = 2.35, size = 5)+
  annotate("text", label = "c",x = 5, y = 2.53, size = 5)+
  annotate("text", label = "a",x = 6, y = 4.25, size = 5)+
  annotate("text", label = "abc",x = 7, y = 3.05, size = 5)
p3

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1272881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows远程桌面登录,提示:“出现身份验证错误,要求的函数不受支持”

问题&#xff1a; windows登录远程桌面&#xff0c;提示&#xff1a;“出现身份验证错误&#xff0c;要求的函数不受支持”&#xff0c;如下图&#xff1a; 问题原因&#xff1a; windows系统更新&#xff0c;微软系统补丁的更新将 CredSSP 身份验证协议的默认设置进行了调…

【腾讯云云上实验室-向量数据库】个人对腾讯云向量数据库的体验心得

目录 前言Tencent Cloud VectorDB概念使用初体验腾讯云向量数据库的优势应用场景有哪些&#xff1f;未来展望番外篇&#xff1a;腾讯云向量数据库的设计核心结语 前言 还是那句话&#xff0c;不用多说想必大家都能猜到&#xff0c;现在技术圈最火的是什么&#xff1f;非人工智…

ZZULIOJ 2466: 楼上瞎说,楼下才是,Java

2466: 楼上瞎说&#xff0c;楼下才是 题目描述 《九章算术》的内容十分丰富&#xff0c;全书采用问题集的形式&#xff0c;收有246个与生产、生活实践有联系的应用问题&#xff0c;其中每道题有问&#xff08;题目&#xff09;、答&#xff08;答案&#xff09;、术&#xff…

【Vulnhub 靶场】【DriftingBlues: 9 (final)】【简单】【20210509】

1、环境介绍 靶场介绍&#xff1a;https://www.vulnhub.com/entry/driftingblues-9-final,695/ 靶场下载&#xff1a;https://download.vulnhub.com/driftingblues/driftingblues9.ova 靶场难度&#xff1a;简单 发布日期&#xff1a;2021年05月09日 文件大小&#xff1a;738 …

编程之外,生活的美好航程

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

涵盖多种功能,龙讯旷腾Module第二期:电子结构及声子计算

Module是什么 在PWmat的基础功能上&#xff0c;我们针对用户的使用需求开发了一些顶层模块&#xff08;Module&#xff09;。这些Module中的一部分是与已有的优秀工具的接口&#xff0c;一部分是以PWmat的计算结果为基础得到实际需要的物理量&#xff0c;一部分则是为特定的计…

Jmeter接口测试:jmeter_HTTP Cookie管理器看这一篇文章就够了

HTTP Cookie管理器 HTTP Cookie管理器可以像浏览器一样自动存储和发送cookie&#xff0c;以这种自 动收集的方式收集到的cookie不会在cookie manager中进行展示&#xff0c;但是运行后&#xff0c; 可以通过 查看结果树&#xff08;监听器&#xff09;可以查看到cookie信息 除…

WPF实战项目十九(客户端):修改RestSharp的引用

修改HttpRestClient&#xff0c;更新RestSharp到110.2.0&#xff0c;因为106版本和110版本的代码不一样&#xff0c;所以需要修改下代码 using Newtonsoft.Json; using RestSharp; using System; using System.Threading.Tasks; using WPFProjectShared;namespace WPFProject.S…

中国毫米波雷达产业分析4——毫米波雷达企业介绍

一、矽典微 &#xff08;一&#xff09;公司简介 矽典微致力于实现射频技术的智能化&#xff0c;专注于研发高性能无线技术相关芯片&#xff0c;产品广泛适用于毫米波传感器、下一代移动通信、卫星通信等无线领域。 整合自身在芯片、系统、软件、算法等领域的专业能力&#xf…

【驱动】SPI驱动分析(四)-关键API解析

关键API 设备树 设备树解析 我们以Firefly 的SPI demo 分析下dts中对spi的描述&#xff1a; /* Firefly SPI demo */ &spi1 {spi_demo: spi-demo00{status "okay";compatible "firefly,rk3399-spi";reg <0x00>;spi-max-frequency <48…

哈希思想的应用:位图、布隆过滤器及哈希切割

一.位图引入 给40定亿个不重复的无符号整数存储在文件中&#xff0c;如何判断一个数在不在其中&#xff1f; 分析&#xff1a;最容易想到的思路是将这些数字存储到某个能够实现快速查找的容器中&#xff0c;如红黑树或哈希表。 但是&#xff0c;10亿个字节大约占1G内存&#x…

使用JDBC操作数据库时,插入数据中文乱码

如图&#xff1a; 解决办法&#xff1a; 修改连接数据库的路径&#xff0c;即url 如下&#xff1a; 设置编码格式为utf-8 urljdbc:mysql://localhost:3306/qfedu?useUnicodetrue&characterEncodingUTF-8再次运行&#xff0c;插入数据即可

python pytorch实现RNN,LSTM,GRU,文本情感分类

python pytorch实现RNN,LSTM&#xff0c;GRU&#xff0c;文本情感分类 数据集格式&#xff1a; 有需要的可以联系我 实现步骤就是&#xff1a; 1.先对句子进行分词并构建词表 2.生成word2id 3.构建模型 4.训练模型 5.测试模型 代码如下&#xff1a; import pandas as pd im…

Linux多线程同步

Linux多线程同步 1、线程同步的概念1.1 为什么要同步1.2 同步方式 2、互斥锁2.1 互斥锁函数2.2 互斥锁使用 3、死锁4、读写锁4.1 读写锁函数4.2 读写锁使用 5、条件变量5.1 条件变量函数5.2 生产者和消费者 6、信号量6.1 信号量函数6.2 生产者和消费者6.3 信号量的使用6.3.1 总…

Android系统源码中添加可编译运行执行程序,java

文章目录 Android系统源码中添加可编译运行执行程序&#xff0c;java1.Android设备中执行编译运行java代码2.编译执行jar包 Android系统源码中添加可编译运行执行程序&#xff0c;java 1.Android设备中执行编译运行java代码 新建一个文件夹&#xff0c;以及Java类的包路径 测…

AI 编程如何助力开发者高效完成架构设计工作?

▼最近直播超级多&#xff0c;预约保你有收获 今晚直播&#xff1a;《AI 编程技术架构剖析和案例开发实战》 —1— AI 编程能帮我们完成哪些工作&#xff1f; 从目前企业级种种现实场景应用来看&#xff0c;AI 编程已经成为一种帮助开发者解决架构设计复杂问题、提高编程效率以…

C/C++转义符:\x

文章目录 什么是转义符使用"\x"定义char数组宏定义中的\ 什么是转义符 在C语言中&#xff0c;转义符用于将一些特殊字符表示为单个字符&#xff0c;常用的转义符有&#xff1a; \\&#xff1a;反斜杠符号\&#xff1a;单引号\"&#xff1a;双引号\a&#xff1…

力扣 --- 删除有序数组中的重复项 II

题目描述&#xff1a; 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的…

考试复习

选择20道 填空10道 判断10道 简答4-5道 编程题2道 一、选择题 1.js中更改一个input框的值&#xff1a; <input ida type"text" value"123456"> 通过a.value改变他的值 方法&#xff1a; 在script标签中通过id获得该输入框对象&#xff0c;然…

记录一次爱快路由ACL策略引起的大坑

环境&#xff1a; A公司和B公司采用爱快的ipsec互联 B公司同时有加密软件限制网络 问题&#xff1a;对方ERP无法连接我们的数据库服务器 先简单测试了下1433端口是不是通的 下面的测试结果&#xff0c;直接ping是通的&#xff0c;但是加上1433端口后就不通 排查过程&#xff1…