【问题标题】:Multiple t.test between one column and different columns in a table表中一列和不同列之间的多个 t.test
【发布时间】:2020-12-21 21:06:50
【问题描述】:

我尝试为不同列之间的 t 检验进行循环,特别是其中一个列和不同列。 我想做一个多重 t.test 并将其插入到一个表中以总结 p 值并显示我使用了哪些列进行了 t.test。

我试过了,

    var1<- c('empfte','empft_rate','wage_st','wage_min','pmeal','hrsopen','bonus')
for (i in var1){
  result=t.test(eval(parse(text = paste0(i,"~state"))),data)
pvalue<-  print(i)
  print(result$p.value)
}

但这对“打印”不美观。

此外,如果可以将表格放入Latex格式。

【问题讨论】:

    标签: r loops for-loop latex t-test


    【解决方案1】:

    您可以使用 lapply ("list-apply") 来针对单个变量评估每个变量(在本例中,“empfte”与所有其他变量),例如

    library(tidyverse)
    var1 <- tribble(~'empfte',~'empft_rate',~'wage_st',~'wage_min',~'pmeal',~'hrsopen',~'bonus',
                      3, 3, 0.7, 22, 2.0, 8, 5,
                      4, 1, 0.7, 22, 2.5, 9, 5.1,
                      2, 1, 0.6, 22, 2.1, 2, 5.2,
                      3, 6, 0.8, 22, 2.9, 5, 5.3,
                      3, 6, 0.8, 22, 2.9, 5, 5.4,
                      3, 5, 0.8, 22, 2.9, 5, 5.8)
    
    t.test_func <- function(name){
      test <- t.test(x = var1$empfte, y = name)
      return(test$p.value)
    }
    
    list_of_results <- lapply(var1, t.test_func)
    table <- t(data.frame("empfte vs" = list_of_results))
    colnames(table) <- c("P-Value")
    table
    
                                       P-Value
        empfte.vs.empfte     1.000000000000000
        empfte.vs.empft_rate 0.526440549147148
        empfte.vs.wage_st    0.000280122578855
        empfte.vs.wage_min   0.000000008779076
        empfte.vs.pmeal      0.181259032114088
        empfte.vs.hrsopen    0.047201925878887
        empfte.vs.bonus      0.000087211443709
    
    library(xtable)
    xtable(t(data.frame("empfte vs" = list_of_results)))
    
        % latex table generated in R 4.0.3 by xtable 1.8-4 package
        % Tue Dec 22 11:44:20 2020
        \begin{table}[ht]
        \centering
        \begin{tabular}{rr}
          \hline
         & x \\ 
          \hline
        empfte.vs.empfte & 1.00 \\ 
          empfte.vs.empft\_rate & 0.53 \\ 
          empfte.vs.wage\_st & 0.00 \\ 
          empfte.vs.wage\_min & 0.00 \\ 
          empfte.vs.pmeal & 0.18 \\ 
          empfte.vs.hrsopen & 0.05 \\ 
          empfte.vs.bonus & 0.00 \\ 
           \hline
        \end{tabular}
        \end{table}
    
    

    您应该知道,这些值对于多次测试(例如 Bonferroni 校正)和方差分析可能是更合适的统计检验。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      相关资源
      最近更新 更多