首页 > 解决方案 > 如何创建一个函数以在多个列上运行 t.test

问题描述

我正在尝试使用这样的二项式变量和结果变量运行 t.test

t.test(outcomevar~binomialvar, data=d)

但是我想编写一个函数来运行 5 列(第 22 到 27 列),所以我不必继续写出完整的代码。

我是编写函数的新手,所以我对语法有点困惑,这就是我尝试过的

fun1<- function(x){t.test(c(22:27)==x ,binomialvar, data)%>%pvalue()

标签: rfunction

解决方案


我们可以遍历名称,创建一个公式reformulate

out <- sapply(names(d)[22:27), function(nm)
       t.test(reformulate("binomialvar", response = nm), data = d)$p.value)

推荐阅读