如何从pairwise.t.test获取df和t值?

2024-03-17

有没有办法从a中获取t值和dfpairwise.t.test对于相关数据?

Example:

 data<-c(2,3,2,2,5,2,4,2,4,3,4,2)
 time<-c(1,1,1,1,2,2,2,2,3,3,3,3)

 pairwise.t.test(data, time,p.adjust.method= "bonf",paired=TRUE)

给我:

  Pairwise comparisons using paired t tests 

 data:  data and time 

   1    2   
 2 1.00 -   
 3 0.55 1.00

 P value adjustment method: bonferroni 

我想要相同的 t 值和 df 格式。


您可以通过编写自定义函数从pairwise.t.test 获取df 和t 值。这是一个可以执行此操作的函数:

pairwise.t.test.with.t.and.df <- function (x, g, p.adjust.method = p.adjust.methods, pool.sd = !paired, 
                                           paired = FALSE, alternative = c("two.sided", "less", "greater"), 
                                           ...) 
{
    if (paired & pool.sd) 
        stop("pooling of SD is incompatible with paired tests")
    DNAME <- paste(deparse(substitute(x)), "and", deparse(substitute(g)))
    g <- factor(g)
    p.adjust.method <- match.arg(p.adjust.method)
    alternative <- match.arg(alternative)
    if (pool.sd) {
        METHOD <- "t tests with pooled SD"
        xbar <- tapply(x, g, mean, na.rm = TRUE)
        s <- tapply(x, g, sd, na.rm = TRUE)
        n <- tapply(!is.na(x), g, sum)
        degf <- n - 1
        total.degf <- sum(degf)
        pooled.sd <- sqrt(sum(s^2 * degf)/total.degf)
        compare.levels <- function(i, j) {
            dif <- xbar[i] - xbar[j]
            se.dif <- pooled.sd * sqrt(1/n[i] + 1/n[j])
            t.val <- dif/se.dif
            if (alternative == "two.sided") 
                2 * pt(-abs(t.val), total.degf)
            else pt(t.val, total.degf, lower.tail = (alternative == 
                                                         "less"))
        }
        compare.levels.t <- function(i, j) {
            dif <- xbar[i] - xbar[j]
            se.dif <- pooled.sd * sqrt(1/n[i] + 1/n[j])
            t.val = dif/se.dif 
            t.val
        }       
    }
    else {
        METHOD <- if (paired) 
            "paired t tests"
        else "t tests with non-pooled SD"
        compare.levels <- function(i, j) {
            xi <- x[as.integer(g) == i]
            xj <- x[as.integer(g) == j]
            t.test(xi, xj, paired = paired, alternative = alternative, 
                   ...)$p.value
        }
        compare.levels.t <- function(i, j) {
            xi <- x[as.integer(g) == i]
            xj <- x[as.integer(g) == j]
            t.test(xi, xj, paired = paired, alternative = alternative, 
                   ...)$statistic
        }
        compare.levels.df <- function(i, j) {
            xi <- x[as.integer(g) == i]
            xj <- x[as.integer(g) == j]
            t.test(xi, xj, paired = paired, alternative = alternative, 
                   ...)$parameter
        }
    }
    PVAL <- pairwise.table(compare.levels, levels(g), p.adjust.method)
    TVAL <- pairwise.table.t(compare.levels.t, levels(g), p.adjust.method)
    if (pool.sd) 
        DF <- total.degf
    else
        DF <- pairwise.table.t(compare.levels.df, levels(g), p.adjust.method)           
    ans <- list(method = METHOD, data.name = DNAME, p.value = PVAL, 
                p.adjust.method = p.adjust.method, t.value = TVAL, dfs = DF)
    class(ans) <- "pairwise.htest"
    ans
}
pairwise.table.t <- function (compare.levels.t, level.names, p.adjust.method) 
{
    ix <- setNames(seq_along(level.names), level.names)
    pp <- outer(ix[-1L], ix[-length(ix)], function(ivec, jvec) sapply(seq_along(ivec), 
        function(k) {
            i <- ivec[k]
            j <- jvec[k]
            if (i > j)
                compare.levels.t(i, j)               
            else NA
        }))
    pp[lower.tri(pp, TRUE)] <- pp[lower.tri(pp, TRUE)]
    pp
}

执行示例:

data<-c(2,3,2,2,5,2,4,2,4,3,4,2)
time<-c(1,1,1,1,2,2,2,2,3,3,3,3)

result <- pairwise.t.test.with.t.and.df(data, time,p.adjust.method= "bonf",paired=TRUE)

# Print t-values
result[[5]]

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

如何从pairwise.t.test获取df和t值? 的相关文章

  • 无法使用 cairo 安装 R

    我正在从源代码安装 R cd R 3 2 2 configure prefix pwd with cairo yes with readline no with libpng yes with x no 我已经从源代码安装了 cairo v
  • 替换向量中非 %in% 向量的值

    简短的问题 我可以像这样替换某些变量值 values lt c a b a b c a b df lt data frame values 将 df values 的所有值替换为 x 其中值是neither a 或 b 输出应该是 c a
  • R data.table fread 使用不带标题的命名 colClasses(例如没有 col.names?)

    更新 2016 年 6 月 col names 已添加到 data table 1 9 6 所以问题已经结束 每个人都非常高兴 我想我现在可以将所有 read csv 调用转换为 fread 调用 而不必担心破坏 原问题 使用数据表1 9
  • ggplot2 中的小时刻度

    我正在处理就寝时间和醒来时间 因此我想创建一个具有 24 小时 x 轴的图表 从第一天中午 12 点开始 到第二天中午 12 点结束 这意味着晚上 11 59 之后 它应该再次从 0 开始 同样的问题 仅涉及数字 我想创建一个从 10 到
  • 读取并绘制从大文件中读取的数据

    我们有相当大的文件 大约为 1 1 5 GB 主要是日志文件 其中包含易于解析为 csv 的原始数据 随后应该将其绘制成图表以生成一组图形图像 目前 我们正在使用 bash 脚本将原始数据转换为 csv 文件 其中仅包含需要绘制图表的数字
  • 自定义 colorRampPalette 中的颜色条

    我定义了一个 colorRampPalette my colors colorRampPalette c light green yellow orange red 如何为其绘制颜色条 图例 项目 最好仅使用基本包 我正在寻找一个充满该颜色
  • 使用 X11 窗口的 R 脚本仅打开一秒钟

    我正在通过 Linux Mint 16 命令行运行 R 脚本 它包含我想在窗口中显示的箱线图 所以我使用 x11 函数来创建该窗口 这是我的代码 testdata lt data frame sample 1 1000 size 100 r
  • 向图像添加坐标,以用作 R 中的 Leaflet、Shiny 和 Shinydashboard 包中的地图

    我计划使用 Leaflet Shiny 和 Shinydashboard 沿着以下很棒的路线创建一个带有医院 OHS 事件标记的交互式地图交互式地图和直方图模板 http shiny rstudio com gallery superzip
  • Rstudio 命令历史记录

    这些天我经常使用 Rstudio 但最近注意到我的命令不再存储在历史记录中 我不知道这是从什么时候开始的 但可能是在安装最新版本时发生的 关于问题可能是什么的任何想法吗 Thanks 这是我们在 v0 93 73 中引入并在 v0 93 7
  • 字边界正则表达式问题

    我在使用单词边界时遇到问题 b在我的正则表达式中 我正在使用 R 但当我尝试时问题也存在http regexr com http regexr com 我使用的模式是 bs l b 虽然我预计下面的第 1 行和第 3 行能够匹配此模式 但只
  • 使用 purrr::map() 更改和分配新变量名称

    我刚刚开始掌握编写函数并使用 lapply purrr map 使我的代码更加简洁 但显然还没有完全理解它 在我当前的示例中 我想重命名 lm robust 对象的系数名称 然后更改 lm robust 对象以合并新名称 我目前这样做 li
  • 在 R 中使用 spplot 将多个绘图放在一个页面上?

    我知道如何在使用简单函数图时绘制两个图 old par lt par mfrow c 1 2 plot faithful main Faithful eruptions plot large islands main Islands yla
  • 再现频率矩阵图

    我想在 R 中重新创建一个情节 情节如下 来源 Boring E G 1941 作为动态平衡的统计频率 心理学评论 48 4 279 这略高于我的工资等级 能力 因此在这里询问 无聊的状态 第一次 A 只能出现 从不 0 或 总是 1 在
  • grid.arrange 中的错误 -rangeGrob() 函数

    我有两个图 p1 和 p2 我试图使用 grid arrage 绘制它们 我的代码如下所示 grid arrange p1 p2 ncol 2 top textGrob Distribution across each day of the
  • R Data.Table 创建带有条件的变量

    我需要在下面的数据集中创建一个新变量 A X a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 10 The newvar如果X等于 2 5 7 或 9 否则 newvar应该是 0 Code dt1 lt dat
  • 删除 R 中具有重复属性的行

    我有一个大数据框 其中包含以下列 ID time OS IP 该数据帧的每一行对应一个条目 在该数据框中对于某些IDs存在多个条目 行 我想删除这些多行 显然 同一 ID 的其他属性会有所不同 或者换句话说 我只想要每个 ID 一个条目 行
  • 使用 R 读取和转换二进制原始数据

    我有一个file https drive google com file d 0BxMpk0nhnJy6SFhxd2xuMzJYYlk edit usp sharing其中包含原始 二进制数据和 ascii 它包含一个时间戳和一个代表速度的
  • 建模前减少因子水平数量

    我有一个 2600 个级别的因子 我想在建模之前将其减少到 10 我想我可以通过这样的操作来做到这一点 如果一个因素列出的次数少于 x 次 则应将其放入名为 其他 的存储桶中 这是一些示例数据 df lt data frame colour
  • 编写健壮的 R 代码:命名空间、屏蔽和使用 `::` 运算符

    简洁版本 对于那些不想阅读我的 案例 的人来说 这就是本质 最小化新包破坏现有代码 即编写您编写的代码 的机会的推荐方法是什么尽可能坚固 充分利用该功能的推荐方法是什么 命名空间机制 when a just using贡献的软件包 比如在一
  • 将 read.csv 与符号链接文件一起使用

    我正在尝试做什么 我的源文件非常大 我想避免将其复制到其他文件夹中 我决定创建一个指向大文件的符号链接并想使用read csv读取文件 文件夹结构 项目1 数据 源文件 csv 项目2 数据 别名到源文件 csv 什么地方出了错 读取源文件

随机推荐