如何在`vtable::sumtable`中使用t.test比较组?

问题描述 投票:0回答:1

我有一个简单的问题。我想使用

group.test
参数在两组之间进行 t.test 而不是 f.test。我从帮助文档中看到这应该与
independence.test
函数有关,但我不太确定该怎么做。

vtable::sumtable(data = mtcars, 
               vars = "mpg",
               group = "am", 
               out = "return",
               group.test = T)
#>   Variable  N Mean  SD  N Mean  SD       Test
#> 1       am  0           1                    
#> 2      mpg 19   17 3.8 13   24 6.2 F=16.86***

创建于 2023-08-24,使用 reprex v2.0.2

r vtable hypothesis-test
1个回答
0
投票

对于回复缓慢表示歉意;自从我搜索 vtable 以来已经有一段时间了。

根据文档,正如您所注意到的,进行自定义

group.test
需要您编写一个适合传递给
independence.test
的函数。这意味着它返回一个列表,其中包含 (1) 检验统计量的名称、(2) 统计量和 (3) p 值。因此,要进行 t 测试,您必须编写一个函数来执行此操作,然后将其传递给
group.test
作为
numeric.test
的选项(或者类似地,如果您想为
factor.test
编写函数)

library(vtable)

data(mtcars)

custom_t = function(x, y, w = NULL) {
  t_test_result = t.test(y~x)
  stat = unname(t_test_result$statistic)
  pval = t_test_result$p.value
  return(list('t',stat,pval))
}

sumtable(mtcars, 
         vars = 'mpg',
         group = 'am',
         group.test = list('numeric.test' = custom_t))
© www.soinside.com 2019 - 2024. All rights reserved.