【问题标题】:How do I perform pairwise statistical tests by group?如何按组执行成对统计检验?
【发布时间】:2020-12-07 18:09:34
【问题描述】:

我正在尝试根据每个 ConditionControl 的比较对每个 Probe 执行成对 t.tests

数据框

library("tidyverse")
library("rstatix")

df <- structure(list(Probe = c("Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2", "Probe_1", "Probe_1", 
"Probe_1", "Probe_1", "Probe_2", "Probe_2", "Probe_2", "Probe_2", 
"Probe_1", "Probe_1", "Probe_1", "Probe_1", "Probe_2", "Probe_2", 
"Probe_2", "Probe_2", "Probe_1", "Probe_1", "Probe_1", "Probe_1", 
"Probe_2", "Probe_2", "Probe_2", "Probe_2"), Condition = c("Condition_1", 
"Condition_1", "Condition_1", "Condition_1", "Condition_1", "Condition_1", 
"Condition_1", "Condition_1", "Condition_1", "Condition_1", "Condition_1", 
"Condition_1", "Condition_1", "Condition_1", "Condition_1", "Condition_1", 
"Condition_1", "Condition_1", "Condition_1", "Condition_1", "Condition_1", 
"Condition_1", "Condition_1", "Condition_1", "Condition_1", "Condition_1", 
"Condition_1", "Condition_1", "Condition_1", "Condition_1", "Condition_1", 
"Condition_1", "Condition_2", "Condition_2", "Condition_2", "Condition_2", 
"Condition_2", "Condition_2", "Condition_2", "Condition_2", "Condition_3", 
"Condition_3", "Condition_3", "Condition_3", "Condition_3", "Condition_3", 
"Condition_3", "Condition_3", "Condition_4", "Condition_4", "Condition_4", 
"Condition_4", "Condition_4", "Condition_4", "Condition_4", "Condition_4", 
"Condition_5", "Condition_5", "Condition_5", "Condition_5", "Condition_5", 
"Condition_5", "Condition_5", "Condition_5", "Condition_6", "Condition_6", 
"Condition_6", "Condition_6", "Condition_6", "Condition_6", "Condition_6", 
"Condition_6", "Condition_6", "Condition_6", "Condition_6", "Condition_6", 
"Condition_6", "Condition_6", "Condition_6", "Condition_6", "Condition_7", 
"Condition_7", "Condition_7", "Condition_7", "Condition_7", "Condition_7", 
"Condition_7", "Condition_7", "Condition_7", "Condition_7", "Condition_7", 
"Condition_7", "Condition_7", "Condition_7", "Condition_7", "Condition_7", 
"Condition_8", "Condition_8", "Condition_8", "Condition_8", "Condition_8", 
"Condition_8", "Condition_8", "Condition_8", "Condition_8", "Condition_8", 
"Condition_8", "Condition_8", "Condition_8", "Condition_8", "Condition_8", 
"Condition_8", "Condition_9", "Condition_9", "Condition_9", "Condition_9", 
"Condition_9", "Condition_9", "Condition_9", "Condition_9", "Condition_10", 
"Condition_10", "Condition_10", "Condition_10", "Condition_10", 
"Condition_10", "Condition_10", "Condition_10", "Condition_10", 
"Condition_10", "Condition_10", "Condition_10", "Condition_10", 
"Condition_10", "Condition_10", "Condition_10", "Condition_11", 
"Condition_11", "Condition_11", "Condition_11", "Condition_11", 
"Condition_11", "Condition_11", "Condition_11", "Condition_11", 
"Condition_11", "Condition_11", "Condition_11", "Condition_11", 
"Condition_11", "Condition_11", "Condition_11", "Condition_11", 
"Condition_11", "Condition_11", "Condition_11", "Condition_11", 
"Condition_11", "Condition_11", "Condition_11", "Condition_12", 
"Condition_12", "Condition_12", "Condition_12", "Condition_12", 
"Condition_12", "Condition_12", "Condition_12", "Condition_12", 
"Condition_12", "Condition_12", "Condition_12", "Condition_12", 
"Condition_12", "Condition_12", "Condition_12", "Condition_13", 
"Condition_13", "Condition_13", "Condition_13", "Condition_13", 
"Condition_13", "Condition_13", "Condition_13", "Condition_13", 
"Condition_13", "Condition_13", "Condition_13", "Condition_13", 
"Condition_13", "Condition_13", "Condition_13", "Condition_14", 
"Condition_14", "Condition_14", "Condition_14", "Condition_14", 
"Condition_14", "Condition_14", "Condition_14", "Condition_14", 
"Condition_14", "Condition_14", "Condition_14", "Condition_14", 
"Condition_14", "Condition_14", "Condition_14", "Condition_15", 
"Condition_15", "Condition_15", "Condition_15", "Condition_15", 
"Condition_15", "Condition_15", "Condition_15", "Condition_15", 
"Condition_15", "Condition_15", "Condition_15", "Condition_15", 
"Condition_15", "Condition_15", "Condition_15", "Condition_16", 
"Condition_16", "Condition_16", "Condition_16", "Condition_16", 
"Condition_16", "Condition_16", "Condition_16", "Condition_16", 
"Condition_16", "Condition_16", "Condition_16", "Condition_16", 
"Condition_16", "Condition_16", "Condition_16", "Condition_16", 
"Condition_16", "Condition_16", "Condition_16", "Condition_16", 
"Condition_16", "Condition_16", "Condition_16", "Condition_17", 
"Condition_17", "Condition_17", "Condition_17", "Condition_17", 
"Condition_17", "Condition_17", "Condition_17", "Condition_18", 
"Condition_18", "Condition_18", "Condition_18", "Condition_18", 
"Condition_18", "Condition_18", "Condition_18", "Condition_19", 
"Condition_19", "Condition_19", "Condition_19", "Condition_19", 
"Condition_19", "Condition_19", "Condition_19", "Condition_19", 
"Condition_19", "Condition_19", "Condition_19", "Condition_19", 
"Condition_19", "Condition_19", "Condition_19", "Condition_20", 
"Condition_20", "Condition_20", "Condition_20", "Condition_20", 
"Condition_20", "Condition_20", "Condition_20", "Control", "Control", 
"Control", "Control", "Control", "Control", "Control", "Control", 
"Control", "Control", "Control", "Control", "Control", "Control", 
"Control", "Control", "Control", "Control", "Control", "Control", 
"Control", "Control", "Control", "Control", "Control", "Control", 
"Control", "Control", "Control", "Control", "Control", "Control"
), RE = c(0.829414528750616, 0.950082913855507, 0.899268985824478, 
1.03963530571807, 1.08902309625582, 0.93604734177382, 0.990396012114205, 
0.804533927396881, 0.547715776967372, 0.680603692872166, 0.630912607632603, 
0.670036577381225, 0.88593556193759, 0.801768992940071, 1.34927310584533, 
1.21843391850173, 0.696927160475132, 0.71431912207057, 0.837584200048124, 
0.706154191237681, 0.337190955392624, 0.349772378351892, 0.485077936596755, 
0.528647119797263, 0.325406010308645, 0.301785710746784, 0.645506835400824, 
0.680968023963646, 0.467139164325035, 0.485347283932937, 0.481877616949607, 
0.372859671210883, 0.749257603873951, 0.677727362394907, 0.423213087735361, 
0.380146974059996, 1.08064142367154, 1.05483680256048, 0.647308805108243, 
0.693814379885552, 0.829327595279795, 0.78725559284408, 0.761405003804261, 
0.73597057973055, 0.582616262233135, 0.606184080058233, 0.972662784224731, 
0.916686303330497, 0.755415597473966, 0.685212937608977, 1.10660669271036, 
0.983087911286916, 0.779204816912643, 0.775348179014229, 0.734605539653465, 
0.814158312940774, 0.565650132903357, 0.560622679369403, 0.922005718537118, 
0.734097429243106, 0.70921581975946, 0.78505932270214, 0.585029635153452, 
0.599322569628212, 1.13479356863702, 0.958467323492779, 1.26392687241498, 
1.11257102896492, 0.502610607844521, 0.557894819115124, 0.420559937409427, 
0.386081834814617, 0.709722545073112, 0.644453899962562, 0.617220741721185, 
0.734865483800236, 0.469602675559055, 0.463680628001807, 0.508475077039572, 
0.575507848244556, 1.07429756204316, 1.11283335734836, 0.988177673437607, 
0.945026788280945, 1.19761535230742, 1.0391435577472, 0.927171534469781, 
0.840650147299507, 0.849628467978363, 0.801841808211644, 0.974379730600981, 
1.04755059730436, 0.74222493611909, 0.712645963122669, 0.668677487810139, 
0.72354113759175, 1.07992544682608, 1.03488138175837, 1.24048909429418, 
1.15237219864921, 0.81303602772662, 0.97722054847001, 0.721685480918051, 
0.653128107608319, 0.760107597613478, 0.810455896980117, 0.929729659809542, 
0.839495838284575, 0.552704731674144, 0.589616903402226, 0.606753230163155, 
0.634402253283188, 0.819169333810131, 0.655370802926284, 1.04519933691965, 
1.02310537091048, 0.679645043335702, 0.62494174350325, 0.690272098583655, 
0.669489537004692, 1.00887913072936, 1.04175753054761, 1.27683782267852, 
1.14396098032736, 0.4513151743262, 0.420868528437206, 0.540027440451757, 
0.535952091424255, 0.793300601599074, 0.749955037610016, 0.580503987018702, 
0.614123781343957, 0.538214692776232, 0.545700359700396, 0.568562855354671, 
0.573234685765727, 0.343807352799677, 0.278525835192945, 0.407615909989803, 
0.453872694485948, 0.340187330863794, 0.461812447136233, 0.449569172336413, 
0.376170257831138, 0.356855531382205, 0.459513804293049, 0.425279991885752, 
0.45165624668617, 0.526884535942705, 0.472914102379043, 0.517461675994811, 
0.476141792095844, 0.351412391760115, 0.295983576348005, 0.340176028443629, 
0.287703011335768, 0.456483968142782, 0.493247328902753, 0.519987942299379, 
0.522144736295306, 0.506068831466521, 0.701796992616938, 0.511827596486769, 
0.520128301295057, 1.04961485156892, 0.673699233279898, 1.0217016378185, 
0.899569676982394, 0.562407209384287, 0.543803249309969, 0.590594623716449, 
0.605327632151552, 0.911955170434003, 0.926995800037781, 0.693234081041955, 
0.674627484250328, 0.433891904664709, 0.54194713532167, 0.368567364332083, 
0.3967089290469, 0.527256418928184, 0.387333400022007, 0.429172512222488, 
0.330744820288432, 0.412916562054482, 0.432138693343842, 0.399495829797541, 
0.389449433614373, 0.448037637608996, 0.429215997598151, 0.524123279368864, 
0.407378403439555, 0.660497911690537, 0.537120028048111, 0.595437056961183, 
0.646031481892932, 1.4339238631963, 1.09942933084417, 1.13963548348418, 
1.03853164240076, 0.745947510939783, 0.663442320222362, 0.652611242649407, 
0.643715910395841, 0.989676861877719, 0.959341188610752, 0.923428954910773, 
0.965300266492513, 0.628123145368182, 0.263918231011611, 0.706763602591387, 
0.480718901944107, 0.461649813952219, 0.47891193401592, 0.444577072685072, 
0.461646543812473, 0.735658268781843, 0.459098052720487, 0.391940366770508, 
0.465263866177306, 0.663384580134376, 0.49144099009835, 0.502525262139832, 
0.506234756003989, 0.632351485543097, 0.596307194391736, 0.855833299242766, 
0.804051972634251, 0.626217144770932, 0.571529493101921, 0.809375878092364, 
0.829830214851005, 0.803021126993469, 0.707595840797152, 0.727216669228565, 
0.773202710527939, 0.688440920737039, 0.719018742219447, 0.528431845533363, 
0.509108809183184, 0.373023251959186, 0.352350601540132, 0.3835823385069, 
0.382569384703042, 0.54714885109087, 0.514386214948045, 0.53851957224719, 
0.49224498076938, 0.42782502134544, 0.301408133325191, 0.463075936927782, 
0.458966184050724, 0.547543414379358, 0.419155526544197, 0.691399472907397, 
0.659447882332104, 1.03960748614717, 0.972239131746584, 0.722395110436629, 
0.694767881379928, 0.985258711666583, 0.990238350794138, 0.94715112983372, 
0.809366789499931, 0.549627269832597, 0.52499388248704, 0.411734990193597, 
0.481961638348597, 0.69166035615085, 0.578389850490246, 0.75564808565872, 
0.714468695798627, 0.563032365767661, 0.550690305448697, 0.542570024488505, 
0.576330421507691, 0.735585961127161, 0.639961363961941, 0.585315815372268, 
0.556437029332173, 0.438876549297759, 0.466915606087656, 0.516782500980197, 
0.487406707961915, 0.490850239224476, 0.431492968119828, 0.522942157396084, 
0.519211872559556, 0.984100991315286, 1.19651424141488, 0.903019081845026, 
0.940471265631188, 0.919275672131405, 0.8582159252878, 1.02964993620747, 
1.23102838472306, 0.809471602119113, 2.23353932457793, 0.692596778133833, 
0.798590817834592, 1.07428388472901, 1.11044371682231, 0.880728217002327, 
0.951792936239496, 1.07719168659142, 1.11332443368898, 0.903233767054491, 
0.92317726660923, 1.12155940689081, 1.01492497833772, 0.945654337594227, 
0.928990681472172, 0.928935529302717, 0.984231113077098, 1.00239775048277, 
1.09113190082388, 0.995465329158968, 0.878658454401437, 1.14022576702754, 
1.00268130623934)), row.names = c(NA, -320L), class = c("tbl_df", 
"tbl", "data.frame"))

我试过的方法:

a <- df %>%
  group_by(Probe) %>%
  nest() %>%
  mutate(t_test = map(data, ~rstatix::pairwise_t_test(detailed = TRUE, ,formula = RE~Condition,
                                                      ref.group = "Control", 
                                                      data = .)),
         results = map(t_test, tibble::glimpse)) %>%
  unnest(results)

这会返回似乎与数据相对应的值(因为较低的 p.values 对应于更严格的数据),但是 p.values 似乎已关闭。如果我对一个子集(例如 Probe_2、Condition_1 vs Control)执行 t.test,我得到的 p.value 与上面执行的测试完全不同:

t.test(filter(df, Probe == "Probe_2",
              Condition == "Condition_1")$RE,
       filter(df, Probe == "Probe_2",
              Condition == "Control")$RE)

我对不使用 rstatix 的其他解决方案完全持开放态度,但是,我想使用基于 tidyverse 的方法

【问题讨论】:

    标签: r statistics tidyverse


    【解决方案1】:

    nest_by之后可以直接申请

    library(dplyr)
    library(tidyr)    
    df %>% 
         nest_by(Probe) %>%
          mutate(t_test = list(rstatix::pairwise_t_test(detailed = TRUE,
                 formula = RE~Condition,  
                 ref.group = "Control", 
                  data = data))) %>% 
          select(-data) %>%
          ungroup %>%
          unnest(c(t_test))
    

    -输出

    # A tibble: 32 x 11
    #   Probe   .y.   group1  group2          n1    n2        p method    p.adj p.signif p.adj.signif
    #   <chr>   <chr> <chr>   <chr>        <int> <int>    <dbl> <chr>     <dbl> <chr>    <chr>       
    # 1 Probe_1 RE    Control Condition_1     16     8 2.35e- 7 T-test 2.59e- 6 ****     ****        
    # 2 Probe_1 RE    Control Condition_10    16     8 8.44e- 2 T-test 3.02e- 1 ns       ns          
    # 3 Probe_1 RE    Control Condition_11    16     8 1.22e-13 T-test 2.20e-12 ****     ****        
    # 4 Probe_1 RE    Control Condition_12    16     8 1.41e- 8 T-test 1.69e- 7 ****     ****        
    # 5 Probe_1 RE    Control Condition_13    16     8 7.25e-13 T-test 1.23e-11 ****     ****        
    # 6 Probe_1 RE    Control Condition_14    16     8 1.31e- 6 T-test 1.31e- 5 ****     ****        
    # 7 Probe_1 RE    Control Condition_15    16     8 5.03e-10 T-test 7.04e- 9 ****     ****        
    # 8 Probe_1 RE    Control Condition_16    16     8 1.84e- 4 T-test 1.29e- 3 ***      **          
    # 9 Probe_1 RE    Control Condition_17    16     8 1.28e-10 T-test 1.92e- 9 ****     ****        
    #10 Probe_1 RE    Control Condition_19    16     8 8.95e-10 T-test 1.16e- 8 ****     ****        
    # … with 22 more rows
    

    注意:glimpse 用于打印到控制台

    【讨论】:

    • 谢谢,这实际上返回了与我共享的代码相同的结果。这里的 p 值仍然远低于在组内的任何一个成对比较中调用 t.test() 时的值。你知道这是为什么吗?
    • @JohnGagnon 实际上是该函数的正确输出。您可以使用group_split 进行检查,即df %&gt;% group_split(Probe) %&gt;% map_dfr(~ rstatix::pairwise_t_test(detailed = TRUE, formula = RE~Condition, ref.group = "Control", data = .x))
    • @JohnGagnon 这里默认取paired = FALSE,如果你把它改成TRUE,那么长度就不一样了
    • 感谢您的评论。我感到困惑的是,为什么这个成对 t 检验函数的输出返回的 p 值比直接在成对比较上调用 t.test() 时低几个数量级(注意我指的是成对比较,非配对 t 检验)
    • 为了澄清,通过成对比较,我的意思是 ControlCondition_1Probe_1 作为成对比较的示例
    【解决方案2】:

    我们可以为您使用基础t.testpurrr 的魔力

    结果是一个包含所有信息的漂亮表格。我们还可以检查 t.test 在哪里失败 [8 次]

    library(dplyr)
    library(tidyr)
    library(purrr)
    library(broom) # For tidying up the t.test results
    
    
    condition <- unique(df$Condition[df$Condition!="Control"])
    
    probe <- unique(df$Probe)
    
    
    nested_data <- 
       #  create unique combinations of Probe and conditions
      tidyr::crossing(probe, condition) %>% 
      # get the subset of data for each pairwise contrast.Control vs the condition
      mutate(
        data = purrr::map2(probe, condition, ~ filter(df, 
                                                      Probe == .x, 
                                                      Condition %in% c("Control", .y)
                                                      )
                           )
      ) %>% 
      # Get the number of observations for each condition (and Control)
      mutate(
        n_control = map_int(data, function(x) nrow(x %>% filter(Condition == "Control"))),
        n_condition = map2_int(data, condition,  function(x, y) nrow(x %>% filter(Condition == y)))
      )
    
    # sanity check
    nested_data %>% 
      slice(1) %>% 
      unnest(c(data)) %>% 
      count(Probe, Condition)
    #> # A tibble: 2 x 3
    #>   Probe   Condition       n
    #>   <chr>   <chr>       <int>
    #> 1 Probe_1 Condition_1     8
    #> 2 Probe_1 Control        16
    
    
    result <- 
      nested_data %>% 
      #  Get the t.test for each comparison
      # Note that inroww 10, [Probe1, there are no values for Control
      # Using `probably` from {purrr}
      mutate(
        t.test = purrr::map(data, possibly(function(x) {
          t.test(RE ~ Condition, data =  x)
        }
        , otherwise = NULL )
      )
      ) %>% 
      # Extract the t.test information into a nice tibble
      mutate(
        res= map(t.test, broom::tidy)
      ) %>% 
      unnest_wider(res)
    
    result
    #> # A tibble: 40 x 16
    #>    probe condition data  n_control n_condition t.test estimate estimate1
    #>    <chr> <chr>     <lis>     <int>       <int> <list>    <dbl>     <dbl>
    #>  1 Prob~ Conditio~ <tib~        16           8 <htes~   -0.423     0.614
    #>  2 Prob~ Conditio~ <tib~        16           8 <htes~   -0.135     0.901
    #>  3 Prob~ Conditio~ <tib~        16           8 <htes~   -0.639     0.397
    #>  4 Prob~ Conditio~ <tib~        16           8 <htes~   -0.469     0.568
    #>  5 Prob~ Conditio~ <tib~        16           8 <htes~   -0.614     0.422
    #>  6 Prob~ Conditio~ <tib~        16           8 <htes~   -0.393     0.643
    #>  7 Prob~ Conditio~ <tib~        16           8 <htes~   -0.520     0.516
    #>  8 Prob~ Conditio~ <tib~        16           8 <htes~   -0.299     0.737
    #>  9 Prob~ Conditio~ <tib~        16           8 <htes~   -0.540     0.496
    #> 10 Prob~ Conditio~ <tib~        16           0 <NULL>   NA        NA    
    #> # ... with 30 more rows, and 8 more variables: estimate2 <dbl>,
    #> #   statistic <dbl>, p.value <dbl>, parameter <dbl>, conf.low <dbl>,
    #> #   conf.high <dbl>, method <chr>, alternative <chr>
    
    # Where are the problems
    result %>% 
      filter(is.na(estimate)) %>%
      select(probe, condition)
    #> # A tibble: 8 x 2
    #>   probe   condition   
    #>   <chr>   <chr>       
    #> 1 Probe_1 Condition_18
    #> 2 Probe_1 Condition_9 
    #> 3 Probe_2 Condition_17
    #> 4 Probe_2 Condition_2 
    #> 5 Probe_2 Condition_20
    #> 6 Probe_2 Condition_3 
    #> 7 Probe_2 Condition_4 
    #> 8 Probe_2 Condition_5
    

    reprex package (v0.3.0) 于 2020 年 12 月 7 日创建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-13
      • 2016-03-05
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      • 1970-01-01
      • 2013-12-15
      • 1970-01-01
      相关资源
      最近更新 更多