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 值矩阵 的相关文章

  • 带有用户输入的knitr

    我正在使用 R markdown 并使用 Rstudio 来 Knit 我有以下 R markdown 文件 title Untitled author date output html document r setup include F
  • 简单的数据框重塑

    我刚刚从长时间的写作中断中回到 R 并且在记住如何重塑数据方面遇到了一些实际问题 我知道我想做的事情很容易 但出于某种原因 我今晚很愚蠢 并且将自己与融化和重塑混淆了 如果有人能快速指出我正确的方向 我将不胜感激 我有一个这样的数据框 pe
  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • R 中的 NA 替换函数

    我正在尝试替换矩阵中的 NA mat 零 我在用着mat is na mat lt 0 当我有 18946 个变量的 94531 个观察值或更小的矩阵时 效果很好 但我在 22752 个变量的 112039 个观察值的矩阵上尝试它 R 显示
  • 用于清除工作空间和转储存储的 R 全局函数

    我希望创建一个全局函数来清除我的工作区并转储我的内存 我将我的函数称为 cleaner 并希望它执行以下代码 remove list ls gc 我尝试在全局环境中创建该函数 但是当我运行它时 控制台仅打印该函数的文本 在我要获取的函数文件
  • 在 mac (iMac OSX ) 终端中远程运行脚本(r 脚本)到其他计算机

    我有一个小示例脚本 script p r 如下所示 打算在终端中运行 usr bin Rscript sink output capture txt mn lt mean 1 10 and so on much longer list of
  • 将值替换为其各自列的名称

    我有一个数据框 Code 401k CVS 101A true 231N true FD54 true 99JB 85F4 true 我试图用相应的列名称 例如 401k 替换 true 字符值 这是我想要的输出 Code 401k CVS
  • 使用 R 的 flextable 包时,有没有办法将传递给 add_header_lines() 的字符串部分加粗

    我正在使用我喜欢的 flextable 包为 Word 文档创建几个表格 但是 我在将表格标题中的部分文本加粗时遇到了一些麻烦 例如 我希望标题为 Table 1 我的表格标题的其余部分 而不是 表 1 我的表格标题的其余部分 I 找到这个
  • 如何更新条件公式?

    让我直接进入示例 考虑以下等式 frml lt formula y a b x z 使用这样的公式规范 例如和AER ivreg 我想更新这个公式 使其显示为 frml2 lt y a b c x z w 但是 我不确定如何更新条件标志之前
  • 限制数据框中所有单元格的字符串长度?

    您好 有没有一种方法可以限制 data frame 中所有列的字符串文本大小 而不必循环遍历每一列并一次使用 str trunc 之类的东西 例如下面的数据框 我可以将所有文本大小限制为仅 5 个字符 而不必一次只执行一列吗 如果有 50
  • R:将 readRDS 应用于 .Rds 文件名的列表对象

    我有几个包含数据帧对象的 Rds 文件 我想对每个文件应用一个函数并将数据帧绑定到单个数据帧中 但是 当我尝试从文件名列表中读取多个 Rds 文件时 我收到错误 FUN X i 中的错误 从连接读取时出错 readRDS 不适用于列表吗 R
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • 有没有一种简单的方法来判断存储在一个列表中的许多数据帧是否包含相同的列?

    我有一个包含许多数据框的列表 df1 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df2 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df3 lt data frame
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 如何将 ggrough 图表另存为 .png

    说我正在使用R包裹ggrough https xvrdm github io ggrough https xvrdm github io ggrough 我有这个代码 取自该网页 library ggplot2 library ggroug
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

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

    假设您有一张这样的表 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