我有一个简单的问题。我想使用
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
对于回复缓慢表示歉意;自从我搜索 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))