Kruskal - R 数据子集的 Wallis p 值矩阵

2024-01-30

考虑一个数据集Data它有几个因子和几个数值连续变量。其中一些变量,比方说slice_by_1(有“男性”、“女性”类别)和slice_by_2(具有“悲伤”、“中性”、“快乐”类),用于将数据“切片”为子集。对于每个子集,Kruskal-Wallis 测试都应该在变量上运行length, preasure,pulse每个都按另一个因子变量分组,称为compare_by。 R 中是否有一种快速方法来完成此任务并将计算出的 p 值放入矩阵中?

I used dplyr包来准备数据。

样本数据集:

library(dplyr)
set.seed(123)
Data <- tbl_df(
   data.frame(
       slice_by_1 = as.factor(rep(c("Male", "Female"), times = 120)),
       slice_by_2 = as.factor(rep(c("Happy", "Neutral", "Sad"), each = 80)),
       compare_by = as.factor(rep(c("blue", "green", "brown"), times = 80)),
       length   = c(sample(1:10, 120, replace=T), sample(5:12, 120, replace=T)),
       pulse    = runif(240, 60, 120),
       preasure = c(rnorm(80,1,2),rnorm(80,1,2.1),rnorm(80,1,3))
   )
   ) %>%
group_by(slice_by_1, slice_by_2)

我们看一下数据:

Source: local data frame [240 x 6]
Groups: slice_by_1, slice_by_2

   slice_by_1 slice_by_2 compare_by length     pulse     preasure
1        Male      Happy       blue     10  69.23376  0.508694601
2      Female      Happy      green      1  68.57866 -1.155632020
3        Male      Happy      brown      8 112.72132  0.007031799
4      Female      Happy       blue      3 116.61283  0.383769524
5        Male      Happy      green      7 110.06851 -0.717791526
6      Female      Happy      brown      8 117.62481  2.938658488
7        Male      Happy       blue      9 105.59749  0.735831389
8      Female      Happy      green      2  83.44101  3.881268679
9        Male      Happy      brown      5 101.48334  0.025572561
10     Female      Happy       blue     10  62.87331 -0.715108893
..        ...        ...        ...    ...       ...          ...

所需输出的示例:

    Data_subsets    length  preasure     pulse
1     Male_Happy <p-value> <p-value> <p-value>
2   Female_Happy <p-value> <p-value> <p-value>
3   Male_Neutral <p-value> <p-value> <p-value>
4 Female_Neutral <p-value> <p-value> <p-value>
5       Male_Sad <p-value> <p-value> <p-value>
6     Female_Sad <p-value> <p-value> <p-value>

你拥有大部分的group_by,现在你只需要do it:

Data %>%
    do({
        data.frame(
            Data_subsets=paste(.$slice_by_1[[1]], .$slice_by_2[[1]], sep='_'),
            length=kruskal.test(.$length, .$compare_by)$p.value,
            preasure=kruskal.test(.$preasure, .$compare_by)$p.value,
            pulse=kruskal.test(.$pulse, .$compare_by)$p.value,
            stringsAsFactors=FALSE)
    }) %>%
    ungroup() %>%
    select(-starts_with("slice_"))
## Source: local data frame [6 x 4]
##     Data_subsets    length  preasure     pulse
## 1   Female_Happy 0.4369918 0.1937327 0.8767561
## 2 Female_Neutral 0.3750688 0.8588069 0.2858796
## 3     Female_Sad 0.7958502 0.6274940 0.5801208
## 4     Male_Happy 0.3099704 0.6929493 0.3796494
## 5   Male_Neutral 0.4953853 0.2986860 0.2418708
## 6       Male_Sad 0.7159970 0.8528201 0.5686672

你必须做ungroup()删除slice*列,因为group_by列不会被删除(我想说“从未被删除”,但我不确定)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kruskal - R 数据子集的 Wallis p 值矩阵 的相关文章

  • 将列表中的每个元素转换为数据框中的一列

    假设我有以下列表 d library combinat d permn c a b c 这看起来如下 1 1 a b c 2 1 a c b 3 1 c a b 4 1 c b a 5 1 b c a 6 1 b a c 是否可以将此列表的
  • 为什么 sapply 的缩放速度比样本大小的 for 循环慢?

    假设我想采用向量 X 2 1 N 并将 e 计算为每个元 素的指数 是的 我认识到最好的方法就是通过向量化 exp X 但这样做的目的是将 for 循环与 sapply 进行比较 我通过逐步尝试三种方法 一种使用 for 循环 两种以不同方
  • R Shiny:如何将无功值从闪亮模块返回到主服务器功能?

    我有一个简单的玩具示例 它使用 add removeBtn 模块在 第一个 模块中添加和删除 UI 我需要跟踪单击 添加 删除 的次数 如果我不使用模块 这很容易 但我试图在嵌套模块的上下文中执行此操作 代码如下 但基本上 我似乎无法访问主
  • 更新 R6 对象实例中的方法定义

    如何更新 R6 类实例的方法定义 正如我所期望的 S3 使用当前的方法定义 对于 R5 参考类 我可以使用 myInstance myInstance copy 在 R6 中 我尝试了 myInstance myInstance clone
  • 闪亮的应用程序包:css 和所有 www/ 目录内容

    我正在尝试将 Shiny 应用程序转换为 R 包 但我在处理有关 www 目录以及 松散 文件的所有问题时遇到了问题 我闪亮的应用程序运行得很好 但是当我尝试 打包它 时 它不起作用 我闪亮的应用程序目录 my shiny app R ut
  • R - 重塑 - 熔化错误

    我正在尝试融化数据框 但出现了这个奇怪的错误 有什么想法吗 str zx7 data frame 519 obs of 5 variables calday new Date format 2011 01 03 2011 01 04 201
  • 在r中的某个阈值处破坏 cumsum() 函数

    例如我有以下代码 cumsum 1 100 我想打破它 如果一个元素 i 1 大于3000 我怎样才能做到这一点 因此 而不是这个结果 1 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 15
  • 在 Shiny 中显示反应式 htmlTable 表格

    我正在制作我的第一个 Shiny 应用程序 但找不到任何有关如何显示使用 htmlTable 包创建的表格的示例 我基本上想在按下按钮时创建一个表格并显示它 Shiny 显示 html 代码而不是表格 我不知道用什么替换服务器部分中的 re
  • R,使用具有两种以上可能性的二项式分布

    我知道这可能是基本的 但我似乎有一个心理障碍 假设您想要计算在一个骰子上掷出 4 5 或 6 的概率 在 R 中 这很简单 sum 1 6 1 6 1 6 这给出了 1 2 这是正确答案 然而 我内心深处 可能应该保留的地方 认为我应该能够
  • 在 RMarkdown 输出到 PDF 时缩进而不添加项目符号点或编号

    之前有人问过如何在没有项目符号的情况下缩进文本 RMarkdown 中的点 但这是针对 HTML 输出的 在 RMarkdown 中缩进而不添加项目符号点或数字 https stackoverflow com questions 47087
  • 在包加载之前如何知道 R 中特定函数属于哪个包?

    例如 我知道许多流行的功能 例如tbl df 我通常不记得它属于哪个包 即data table or dplyr 所以我必须始终记住并加载一个包 但我做不到 tbl df除非我加载了正确的包 在 R 控制台本身加载或安装包之前 有没有办法知
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • 将维基百科中的表格加载到 R 中

    我正在尝试从以下 URL 将最高法院法官表加载到 R 中 https en wikipedia org wiki List of Justices of the Supreme Court of the United States http
  • R 改变构面的顺序

    我正在尝试将方面的顺序从 BA SLG 更改为 SLG BA 我发现了与此类似的问题 但我认为我的解决方案可能不起作用 因为我已经在Excel中汇总了数据 因此 我的数据框可能会有所不同 无论如何 我尝试实现这个但无济于事 df2 lt f
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • R:改变堆积条形图的颜色

    library ggplot2 df2 lt data frame supp rep c VC OJ each 3 dose rep c D0 5 D1 D2 2 len c 6 8 15 33 4 2 10 29 5 head df2 g
  • 将 Excel 文件读入 R 并锁定单元格

    我有一个 Excel 电子表格要读入 R 它受密码保护并锁定了单元格 我可以使用 excel link 导入受密码保护的文件 但我不知道如何解锁 取消保护单元格 excel link 给了我这个错误 gt
  • 更改ggplot2中的字体

    曾几何时 我改变了我的ggplot2字体使用windowsFonts Times windowsFont TT Times New Roman 现在 我无法摆脱这一切 在尝试设置family in ggplot2 theme 当我用不同的字
  • 如何在R中实现countifs函数(excel)

    我有一个包含 100000 行数据的数据集 我尝试做一些countifExcel 中的操作 但速度慢得惊人 所以我想知道R中是否可以完成这种操作 基本上 我想根据多个条件进行计数 例如 我可以指望职业和性别 row sex occupati

随机推荐

  • 在唯一列中的行之间切换值

    假设您有一张这样的表 id name 1 foo 2 bar 存在唯一性约束name column 你会如何设置行id 2 to foo 以及行id 1 to bar 我知道您可能只需为两者分配临时名称 然后粘贴所需的名称 但这似乎不是最简
  • Windows API CreateFile() 中 OPEN_ALWAYS 和 CREATE_ALWAYS 的区别

    谁能解释一下创造配置之间有什么区别OPEN ALWAYS and CREATE ALWAYS of the 创建文件 http msdn microsoft com en us library aa363858 28VS 85 29 asp
  • 静态只读字段的初始化顺序[重复]

    这个问题在这里已经有答案了 我很好奇 C 规范对 C 5 net4 中静态字段的初始化顺序有何说明 例如 public class Test public static readonly string A hi public static
  • Pika:写入缓冲区超出警告

    我们的软件程序运行良好 5 个月 现在突然开始收到 Pika 警告 最终导致异常 Pika 0 9 5 用户警告 写入缓冲区超出警告阈值 我搜索了很多论坛 但都不满意 所描述的一种解决方案是完全忽略这些警告 但我对此有点怀疑 对此问题的任何
  • 从连续的数组切片或卷组成矩阵

    我有一个像这样的数组 10 20 30 40 我想建立一个矩阵M1像这样 10 0 0 0 20 10 0 0 30 20 10 0 40 30 20 10 我的方法是首先构建以下矩阵M2在数组的连续 卷 之外 10 20 30 40 20
  • phalcon 中的重定向和调度有什么区别?

    当我想从另一个页面切换到另一个页面时 我可以找到两个页面 this gt dispatcher gt forward and this gt response gt redirect 两者似乎都工作正常 它们之间有什么区别 什么时候应该使用
  • 如何在我的代码中触发按钮单击? [复制]

    这个问题在这里已经有答案了 如何在我的代码中直接触发按钮单击 我有这样的代码 namespace App1
  • Maven 可以重新签署依赖关系吗?

    我在用着maven jarsigner plugin签署我的一个阴影超级罐子 不过 我确实需要在自己的 jar 中分发一些依赖项 并且希望从 Maven 存储库中获取这些 jar 清除它们的任何现有签名 并使用我自己的证书对它们进行签名 是
  • 内联代码和内联 LaTeX、R Markdown Pandoc 错误 43

    我已经遇到这个问题好几次了 但是每当我尝试在 Rmd 文件中包含内联 LaTeX 和内联 R 代码时 我都会收到 Pandoc 错误 43 除了手动添加内容之外 从来没有找到解决方法R 代码本来就是 title HW4 date 2 23
  • “is”运算符对浮点数的行为异常

    在对模块进行单元测试时 我遇到了一个令人困惑的问题 该模块实际上正在转换值 我想比较这些值 相比之下还是有区别的 and is 部分地 我很注意其中的差异 gt gt gt 0 0 is 0 0 True as expected gt gt
  • 可扩展的TableView [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何按类别显示表格视图 并且单击一行
  • Symfony3 - 实体不适用于关系(具有索引和约束的数据库)

    现在主演了几个小时 也许我错过了一些明显的事情 具有此数据库结构 带有索引和约束 CREATE TABLE exploit id bigint 20 NOT NULL AUTO INCREMENT edb id varchar 100 CO
  • 意外的''回应宁静的服务

    我正在尝试学习宁静的服务 作为其中的一部分 我正在设计一个示例请求和响应页面 看看我一切都正确 除了以下内容 资源名为 i package com tutorialspoint import java io BufferedReader i
  • 如何忽略javafx中的60fps限制?

    我需要创建一个 100fps 动画来显示每秒包含 100 帧的文件中的 3D 数据 但是javaFx中的AnimationTimer只允许我获得60fps 如何克服它 删除 JavaFX 帧速率上限 您可以通过设置系统属性来删除 60fps
  • 在两级子例程中传递假定形状数组 (Fortran 90)

    我在 Fortran 90 中使用假定形状数组调用连续子例程时遇到问题 更具体地说 我调用两级子例程 传递假定形状数组作为参数 但最终数组丢失了 为了演示它 可以按照下面的代码进行操作 program main INTERFACE subr
  • 如何从FTP读取文件而不下载它们? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在我的索引文件程序代码中 我需要访问 FTP 文件并读取所有文件而不下载它们 我如何使用 org apache commons net
  • 当 Android 使用嵌套片段和 getSupportFragmentManager() 在方向更改时重新创建我的应用程序时,到底会发生什么?

    我查看了与此问题相关的其他线程 它们似乎都使用 getChildFragmentManager 但如果可能的话 我想使用 getSupportFragmentManager 问题是这样的 我有父片段 A 它包含子片段 B B 是一个选择器片
  • 在两个不同宽度的弹性项目之间水平居中弹性项目[重复]

    这个问题在这里已经有答案了 假设我有 3 个 div 水平显示flexbox div1 center div wider div 我希望中心 div 与父级的中间对齐 我怎样才能做到这一点 justify content将根据所有宽度的总和
  • React 服务器渲染 --> 用新的根组件替换 React 渲染的子组件

    我正在尝试同构渲染反应 它会渲染 但我在客户端中收到警告 错误 我使用 jspm 和 npm 作为包管理器 warning js 25 Warning render Replacing React rendered children wit
  • Kruskal - R 数据子集的 Wallis p 值矩阵

    考虑一个数据集Data它有几个因子和几个数值连续变量 其中一些变量 比方说slice by 1 有 男性 女性 类别 和slice by 2 具有 悲伤 中性 快乐 类 用于将数据 切片 为子集 对于每个子集 Kruskal Wallis