R 如何根据给定的两值向量列表计算分组数据的t.test

R 如何根据给定的两值向量列表计算分组数据的t.test,r,dplyr,R,Dplyr,我有以下数据框: 库(tidyverse) dat#A tibble:9 x 3 #>样本代表区 #> #>1 S1 01 100.0 #>2 S1 02 200.0 #>3 S1 01 300.0 #>4 S2 01 10.0 #>5 S2 02 20.0 #>6 S2 02 30.0 #>7 S301 1.2 #>8 S302 2.3 #>9 S3 02 3.1 我想做的是创建一个函数,它使用 配对值,然后计算从区域列的t检验得出的P值 以下列表中给出的示例: 我们可以使用

我有以下数据框:


库(tidyverse)
dat#A tibble:9 x 3
#>样本代表区
#>      
#>1 S1 01 100.0
#>2 S1 02 200.0
#>3 S1 01 300.0
#>4 S2 01 10.0
#>5 S2 02 20.0
#>6 S2 02 30.0
#>7 S301 1.2
#>8 S302 2.3
#>9 S3 02 3.1
我想做的是创建一个函数,它使用 配对值,然后计算从
区域
列的t检验得出的P值

以下列表中给出的示例:

我们可以使用循环

library(dplyr)
lapply(wanted_pairs, function(x) 
      dat %>% 
         filter(sample %in% x) %>% 
         summarise(sample1 = unique(sample)[1], sample2 = unique(sample)[2],
                    pval = t.test(area[sample == sample1], 
                              area[sample == sample2])$p.value)) %>%
      bind_rows()
# A tibble: 2 x 3
#  sample1 sample2      pval
#    <chr>   <chr>     <dbl>
#1      S1      S2 0.0878746
#2      S2      S3 0.0897509
库(dplyr)
lappy(需要的_对,函数(x)
dat%>%
过滤器(样本百分比在%x中)%>%
总结(样本1=唯一(样本)[1],样本2=唯一(样本)[2],
pval=t.试验(面积[样本==样本1],
面积[sample==sample2])$p.value))%>%
绑定_行()
#一个tibble:2x3
#样本1样本2 pval
#            
#1 S1 S2 0.0878746
#2 S2 S3 0.0897509

请检查我得到的第二个值
0.0897