返回lapply()UDF中列表的名称()以进行T-Test

时间:2016-09-22 06:38:19

标签: r

我试图通过UDF函数传递一个数据帧列表,用于lapply()的t检验。我想打印/保存参数名称(df名称),以便我知道哪个测试属于哪个df。

list <- list(arousSelf = arousSelf, arousOther = arousOther)
ttest <- function(data) {
        d <- t.test(data$pre, data$post, paired = T)
        cohend <- cohen.d(data$pre, data$post, paired = T)
        print(substitute(data))
        print(d)
        print(cohend)
}
ttest(arousSelf)
lapply(names(list, ttest)

当我运行一个df的函数(即arousSelf)时,print(substitute(data))打印实际参数的名称。当我通过lapply()运行列表时,会打印数字。我尝试了不同帖子的建议,但似乎无法弄明白。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我没有看到在内部函数中打印出对象的重点。当你通过lapply打电话时,你会打印它们。我会这样做......

ttest <- function(data) {
    d <- t.test(data$pre, data$post, paired = T)
    cohend <- cohen.d(data$pre, data$post, paired = T)
    list(d, cohend)
}

lapply(lt, ttest)