<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 15.4 配對 t 檢驗 在實驗研究中,我們經常在受試者設計中使用 _,在設計中我們比較同一個人的多個測量值。例如,在 nhanes 數據集中,血壓測量了三次。假設我們有興趣測試第一次和第二次測量之間的平均血壓是否存在差異(圖[15.3](#fig:BPfig))。_ ![Violin plot of systolic blood pressure on first and second recording, from NHANES.](https://img.kancloud.cn/b2/93/b293d826caa01ce41264f9a3517be0c2_384x384.png) 圖 15.3 NHANES 第一次和第二次記錄的收縮壓小提琴圖。 我們發現,在不同的時間點(大約一點)之間,平均血壓似乎沒有太大的差異。首先,讓我們使用一個獨立的樣本 t 檢驗來測試差異,它忽略了數據點對來自同一個人的事實。 ```r t.test( BPsys ~ timepoint, data = NHANES_sample_tidy, paired = FALSE, var.equal = TRUE ) ``` ```r ## ## Two Sample t-test ## ## data: BPsys by timepoint ## t = 0.5, df = 400, p-value = 0.6 ## alternative hypothesis: true difference in means is not equal to 0 ## 95 percent confidence interval: ## -2.8 4.6 ## sample estimates: ## mean in group BPSys1 mean in group BPSys2 ## 122 121 ``` 這一分析顯示沒有顯著差異。然而,這種分析是不適當的,因為它假定兩個樣本是獨立的,而事實上它們不是獨立的,因為數據來自同一個人。我們可以用每一個人的一行來繪制數據來顯示這一點(參見圖[15.4](#fig:BPLinePlot))。 ![Violin plot of systolic BP on each recording, with lines connecting the two data points for each individual.](https://img.kancloud.cn/b0/7d/b07de6f9ddabe6c535799dfa231ec310_384x384.png) 圖 15.4 每一次記錄的收縮壓小提琴圖,每一次記錄的兩個數據點之間都有連接線。 在這個分析中,我們真正關心的是兩次測量之間每個人的血壓是否有系統的變化,所以表示數據的另一種方法是計算每個人的兩個時間點之間的差異,然后分析這些差異。而不是分析單個測量值。在圖[15.5](#fig:BPDiffHist)中,我們顯示了這些差異分數的柱狀圖,藍色線表示平均差異。 ![Histogram of difference scores between first and second BP measurement.](https://img.kancloud.cn/8a/0d/8a0d3529c3b9bffabb89dcaba7702589_384x384.png) 圖 15.5 第一次和第二次血壓測量的差分柱狀圖。 ### 15.4.1 標志試驗 測試差異的一個簡單方法是使用一個名為 _ 符號測試 _ 的測試,它詢問正差異的比例(忽略它們的大小)是否不同于我們所期望的偶然性。為了做到這一點,我們利用這些差異計算它們的符號,然后我們使用二項式測試來詢問陽性符號的比例是否與 0.5 不同。 ```r # compute sign test for differences between first and second measurement npos <- sum(NHANES_sample$diffPos) bt <- binom.test(npos, nrow(NHANES_sample)) bt ``` ```r ## ## Exact binomial test ## ## data: npos and nrow(NHANES_sample) ## number of successes = 100, number of trials = 200, p-value = 0.4 ## alternative hypothesis: true probability of success is not equal to 0.5 ## 95 percent confidence interval: ## 0.46 0.60 ## sample estimates: ## probability of success ## 0.53 ``` 在這里我們看到,在無效假設![](https://img.kancloud.cn/67/3c/673cbcd1e16095f4785b7a64ecfb3c1d_57x17.jpg)下,有陽性跡象的個體比例(0.53)不足以令人驚訝。然而,符號測試的一個問題是它丟棄了關于差異大小的信息,因此可能遺漏了一些東西。 ### 15.4.2 配對 t 檢驗 更常見的策略是使用 _ 對 t 檢驗 _,這相當于一個樣本 t 檢驗,以確定測量值之間的平均差是否為零。我們可以使用 r 中的`t.test()`函數和設置`paired=TRUE`來計算這個值。 ```r # compute paired t-test t.test(BPsys ~ timepoint, data = NHANES_sample_tidy, paired = TRUE) ``` ```r ## ## Paired t-test ## ## data: BPsys by timepoint ## t = 2, df = 200, p-value = 0.02 ## alternative hypothesis: true difference in means is not equal to 0 ## 95 percent confidence interval: ## 0.17 1.69 ## sample estimates: ## mean of the differences ## 0.93 ``` 通過這些分析,我們發現兩個測量值實際上存在顯著差異。讓我們計算一下貝葉斯因子,看看這種影響有多強: ```r # compute Bayes factor for paired t-test ttestBF(x = NHANES_sample$BPSys1, y = NHANES_sample$BPSys2, paired = TRUE) ``` ```r ## Bayes factor analysis ## -------------- ## [1] Alt., r=0.707 : 1.3 ±0% ## ## Against denominator: ## Null, mu = 0 ## --- ## Bayes factor type: BFoneSample, JZS ``` 這表明,雖然在配對 t 檢驗中效果顯著,但實際上它幾乎沒有提供支持替代假設的證據。 ### 15.4.3 配對 t 檢驗作為線性模型 我們也可以用一般線性模型來定義配對 t 檢驗。為了做到這一點,我們將每個主題的所有度量都作為數據點(在整潔的數據框架內)。然后,我們在模型中包含一個變量,該變量編碼每個人的身份(在本例中,是包含每個人的主題 ID 的 ID 變量)。這被稱為 _ 混合模型 _,因為它包括獨立變量的影響以及個體的影響。標準模型擬合程序`lm()`不能做到這一點,但我們可以使用流行的 R 包 _lme4_ 中的`lmer()`函數來實現這一點,該包專門用于估計混合模型。公式中的`(1|ID)`告訴`lmer()`為`ID`變量的每個值(即數據集中的每個個體)估計一個單獨的截距(即`1`所指的截距),然后估計一個與 bp 相關的公共斜率。 ```r # compute mixed model for paired test lmrResult <- lmer(BPsys ~ timepoint + (1 | ID), data = NHANES_sample_tidy) summary(lmrResult) ``` ```r ## Linear mixed model fit by REML. t-tests use Satterthwaite's method [ ## lmerModLmerTest] ## Formula: BPsys ~ timepoint + (1 | ID) ## Data: NHANES_sample_tidy ## ## REML criterion at convergence: 2982 ## ## Scaled residuals: ## Min 1Q Median 3Q Max ## -2.6985 -0.4478 0.0058 0.3996 2.7395 ## ## Random effects: ## Groups Name Variance Std.Dev. ## ID (Intercept) 342 18.49 ## Residual 15 3.87 ## Number of obs: 400, groups: ID, 200 ## ## Fixed effects: ## Estimate Std. Error df t value Pr(>|t|) ## (Intercept) 121.770 1.336 207.545 91.2 <2e-16 *** ## timepointBPSys2 -0.930 0.387 199.000 -2.4 0.017 * ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Correlation of Fixed Effects: ## (Intr) ## tmpntBPSys2 -0.145 ``` 您可以看到,這向我們顯示了一個 p 值,它非常接近于使用`t.test()`函數計算的成對 t 檢驗的結果。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看