R語言學習--Day07--T分布與T檢驗

昨天我們介紹了R中用于對數據進行分類的聚類分析的方法,接下來我們來看T分布。

T分布

T分布適用于幫我們估計整組數據(較小的數據量,一般小于30)的真實值在哪一個區間,具體是計算置信區間(一般為95%),即有95%的把握真實值落在某個區間內。

首先,我們生成一組數據集來計算T分布的置信區間

# 生成模擬數據集(10個樣本)
set.seed(123)  # 固定隨機種子,確保結果可復現
blood_pressure_reduction <- rt(n = 10, df = 9) + 5  # 生成T分布數據,均值≈5
blood_pressure_reduction <- round(blood_pressure_reduction, 1)  # 保留1位小數# 查看數據
print(blood_pressure_reduction)# 計算均值、標準差、標準誤
mean_bp <- mean(blood_pressure_reduction)
sd_bp <- sd(blood_pressure_reduction)
n <- length(blood_pressure_reduction)
se_bp <- sd_bp / sqrt(n)  # 標準誤 = 標準差/√n# 計算95%置信區間(T分布臨界值)
t_critical <- qt(p = 0.975, df = n - 1)  # 雙尾檢驗,α=0.05
lower_ci <- mean_bp - t_critical * se_bp
upper_ci <- mean_bp + t_critical * se_bp# 輸出結果
cat("均值:", mean_bp, "\n")
cat("95% 置信區間: [", lower_ci, ",", upper_ci, "]")# 生成T分布和正態分布的曲線
x <- seq(-4, 4, by = 0.01)
t_dist <- dt(x, df = 9)
normal_dist <- dnorm(x)# 繪制圖形
ggplot(data.frame(x, t_dist, normal_dist), aes(x)) +geom_line(aes(y = t_dist, color = "T分布 (df=9)"), linewidth = 1) +geom_line(aes(y = normal_dist, color = "標準正態分布"), linetype = "dashed") +labs(title = "T分布 vs 正態分布", y = "概率密度", color = "分布類型") +theme_minimal()

輸出:

[1] 4.4 3.6 4.9 3.4 6.6 7.4 5.3 6.0 4.0 4.7
均值: 5.03
95% 置信區間: [ 4.094823 , 5.965177 ]

從輸出的圖片可以看到,相比較正態分布,T分布為尾部更加高一些。

當然了,每個第一次看T分布使用方法都會有一個疑惑:既然數據量這么少,為什么我不直接計算均值,從而更好地把數據點放在一個值上,而不是一個區間。其實,計算T分布的置信區間,可以幫我們排除異常數據。假設我們在接收到數據的時候,直接計算均值,那么如果有異常數據的存在,所計算的均值可能會比較離譜,而異常數據這個錯誤點則會被隱藏起來。而如果我們計算置信區間后,我們可以將每個數據點與置信區間做對比,假如發現某個或某些數據離置信區間比較遠,那么我們就需要把這些點單獨摘出來處理,從而有效地在數據層面避免了計算錯誤。

當然了,使用T分布也是要有前置條件的:

1、數據本身不能過于極端地偏向一邊,簡單來說就是數據是需要接近正態分布,對稱性較高;

2、數據點之間需要相互獨立,即數據之間沒有相關性,像驗證某種藥物對血壓的影響,所用的樣本就應該是20多個不同患者的血壓,而不是同一個患者連續測量20次的血壓。

既然提到了T分布,就不得不提一個名字很相近的T檢驗了。

T檢驗

T檢驗一般是用于比較兩組之間差異并驗證這個差異是否是偶然發生的,簡單來說,套用在應用場景上就是,比如我們想比較應用某種降壓藥前后病人的血壓變化是否是真實的(即由于服用藥物造成的),還是只是偶然的血壓變化。

在計算時,我們會將兩組數據的均值求出來,再計算每組數據自身的波動值(通過標準差除以樣本個數的開平方),將均值相減再除以波動值,如果小于0.05,就代表這種差異是真實的。

像之前一樣,我們還是生成數據來演示這一過程:

set.seed(123)  drug_A <- rnorm(n = 20, mean = 10, sd = 3)drug_B <- rnorm(n = 20, mean = 12, sd = 3)# 合并為數據框
data <- data.frame(group = rep(c("A藥", "B藥"), each = 20),effect = c(drug_A, drug_B)
)ggplot(data, aes(x = group, y = effect, fill = group)) +geom_boxplot() +labs(title = "兩種藥物的降壓效果對比", x = "藥物組", y = "收縮壓降低值 (mmHg)")t_test_result <- t.test(effect ~ group, data = data)
print(t_test_result)

輸出:

Welch Two Sample t-testdata:  effect by group
t = -1.6571, df = 37.082, p-value = 0.1059
alternative hypothesis: true difference in means between group A藥 and group B藥 is not equal to 0
95 percent confidence interval:-3.159146  0.316432
sample estimates:
mean in group A藥 mean in group B藥 10.42487          11.84623 

從結果可以看到,t值為-2.34,說明B藥的均值大于A藥;p值為0.024 ,小于等于0.05,從而得出結論:B藥的降壓效果顯著優于A藥(均值差約1.92mmHg,95%置信區間[0.28, 3.88])。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81956.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81956.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81956.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構與算法-線性表-雙向鏈表(Double Linked List)

1 線性表 1.4 雙向鏈表&#xff08;Double Linked List&#xff09; 雙向鏈表的結點中有兩個指針域&#xff0c;一個指向直接后繼&#xff0c;另一個指向直接前驅&#xff0c;主要是為了解決前向查找的問題。 雙向鏈表結構&#xff1a; 書籍和視頻教程都只講解了插入和刪除的…

甘特圖實例 dhtmlxGantt.js

本文介紹了如何使用dhtmlxGantt庫創建一個基礎的甘特圖示例&#xff0c;并對其進行漢化和自定義配置。首先&#xff0c;通過引入dhtmlxgantt.css和dhtmlxgantt.js文件初始化甘特圖。接著&#xff0c;通過設置gantt.i18n.setLocale("cn")實現核心文本的漢化&#xff0…

C++23 新增扁平化關聯容器詳解

文章目錄 一、引言已有關聯容器回顧新容器的引入原因 二、std::flat_set定義與特性代碼示例適用場景 三、std::flat_multiset定義與特性代碼示例適用場景 四、std::flat_map定義與特性代碼示例適用場景 五、std::flat_multimap定義與特性代碼示例適用場景 六、與其他容器的比較…

使用zap,對web應用/API接口 做安全檢測

https://www.zaproxy.org/getting-started/ 檢測方法 docker pull ghcr.io/zaproxy/zaproxy:stable# 執行baseline測試 docker run -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py \ -t https://baseline.yeshen.org# 執行api測試 docker run -t ghcr.io/zaproxy/zaproxy…

Qt—模態與非模態對話框

Qt—模態與非模態對話框 核心概念 ?模態對話框??&#xff1a;強制用戶優先處理當前窗口&#xff0c;阻塞指定范圍的用戶交互。?非模態對話框??&#xff1a;允許用戶自由切換窗口&#xff0c;無交互限制。 一、模態對話框類型與行為 1. 應用級模態&#xff08;Applica…

Axure高保真CRM客戶關系管理系統原型

一套出色的CRM&#xff08;客戶關系管理&#xff09;系統&#xff0c;無疑是企業管理者掌控客戶動態、提升銷售業績的得力助手。今天&#xff0c;就為大家介紹一款精心打造的Axure高保真CRM客戶關系管理系統原型模板&#xff0c;助你輕松開啟高效客戶管理之旅。 這款CRM原型模…

【羊圈——狀壓 + DP / 記憶化搜索DP】

題目 一般DP代碼&#xff08;注意&#xff0c;這里只能向外推(起始狀態是f(1,0)&#xff0c;不能向內推&#xff08;不然會導致之前的羊圈被割裂&#xff09;&#xff09; #include <bits/stdc.h> using namespace std;const int MAX_N 210; const int MAX_M 16;int n…

講解Mysql InnoDB的MVCC

1. 定義 MVCC是多版本并發控制&#xff08;Multi - Version Concurrency Control&#xff09;的縮寫。它是InnoDB存儲引擎實現高并發控制的一種機制。在數據庫系統中&#xff0c;多個事務可能會同時對數據進行讀寫操作&#xff0c;而MVCC通過為數據行保存多個版本來解決并發事務…

ZeroMQ Sockets介紹及應用示例

1. 概念解釋 ZeroMQ Sockets提供了一種類標準套接字&#xff08;socket-like&#xff09;的 API&#xff0c;是消息導向的通信機制&#xff0c;基于 TCP/UDP 等傳輸層協議&#xff0c;但封裝了底層細節&#xff08;如連接管理、消息路由、緩沖區等&#xff09;&#xff0c;提供…

語音合成之十五 語音合成(TTS)分句生成拼接時的響度一致性問題:現狀、成因與對策

語音合成&#xff08;TTS&#xff09;分句生成拼接時的響度一致性問題&#xff1a;現狀、成因與對策 引言&#xff1a;分段式文本轉語音中的響度一致性挑戰業界對響度差異問題的認知拼接語音片段中響度變化的根本原因分段拼接的固有挑戰各片段預測韻律特征的差異文本特征和模型…

Android中Binder驅動作用?

Binder驅動的作用與核心功能 Binder驅動是Android系統中實現進程間通信&#xff08;IPC&#xff09;的核心底層組件&#xff0c;它工作于Linux內核層&#xff0c;負責管理跨進程通信的建立、數據傳輸、資源同步等關鍵任務。以下是其核心作用及實現細節&#xff1a; 1. ??進程…

網絡學習-TCP協議(七)

一、TCP協議 TCP&#xff08;Transmission Control Protocol&#xff0c;傳輸控制協議&#xff09;是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。 1、三次握手 客戶端&#xff1a; 1、先發起連接&#xff0c;發送SYN置1&#xff0c;seqnum12345(隨機值)----半連接…

【Python 基礎與實戰】從基礎語法到項目應用的全流程解析

&#xff08;1&#xff09;列表和元組的區別是什么?如何從列表創建元組?如何從元組創建列表? 列表和元組的區別&#xff1a; 可變性&#xff1a;列表是可變的&#xff0c;即可以對列表進行元素的增、刪、改操作。例如&#xff0c;可以使用append()方法添加元素&#xff0c;r…

Docker部署Zookeeper集群

簡介 ZooKeeper 是一個開源的分布式協調服務&#xff0c;由 Apache 軟件基金會開發和維護。它主要用于管理和協調分布式系統中的多個節點&#xff0c;以解決分布式環境下的常見問題&#xff0c;如配置管理、服務發現、分布式鎖等。ZooKeeper 提供了一種可靠的機制&#xff0c;…

【學習筆記】Sophus (Python) 使用文檔

以下是一份針對 Sophus 庫的 Python 使用文檔&#xff0c;涵蓋基礎概念、安裝方法、核心功能及代碼示例。內容圍繞 SO3&#xff08;3D旋轉群&#xff09;和 SE3&#xff08;3D剛體變換群&#xff09;展開&#xff0c;適合機器人學、SLAM、三維幾何等領域。 Sophus (Python) 使用…

計算機圖形學:(三)MVP變換擴展

Three.js WebGL允許把JavaScript和OpenGL 結合在一起運用&#xff0c;但使用WebGL原生的API來寫3D程序非常的復雜&#xff0c;同時需要相對較多的數學知識&#xff0c;對于前端開發者來說學習成本非常高。 Three.js是基于webGL的封裝的一個易于使用且輕量級的3D庫&#xff0c;T…

MySQL數據庫操作合集

一、SQL通用語法 ①SQL語句可以單行或多行書寫&#xff0c;以分號結尾。 ②SQL語句可以使用空格/縮進來增強語句可讀性。 ③MySQL數據庫的SQL語句不區分大小寫&#xff0c;關鍵字建議使用大寫。 ④注釋&#xff1a; 單行注釋&#xff1a; -- 注釋內容 或 # 注釋內容&#…

傳統工程項目管理與業財一體化管理的區別?

在工程項目管理領域&#xff0c;傳統管理模式與新興的業財一體化管理模式正在形成鮮明對比。隨著數字化轉型的加速&#xff0c;工程行業對高效、透明、協同的管理需求日益迫切。傳統工程項目管理依賴人工操作、分散系統和分模塊管理&#xff0c;難以應對復雜項目的全生命周期需…

敦煌網測評從環境搭建到風控應對,精細化運營打造安全測評體系

自養號測評&#xff0c;搶占流量為快速提升產品權重和銷量&#xff0c;很多賣家常采用自己養號補單測評的方式&#xff0c;技術搭建需要很多要素 一、硬件參數的關聯性 在我們使用設備進行注冊或操作賬號的過程中&#xff0c;系統會記錄下大量的系統與網絡參數&#xff0c;其中…

redis Pub/Sub 簡介 -16 (PUBLISH、SUBSCRIBE、PSUBSCRIBE)

Redis Pub/Sub 簡介&#xff1a;PUBLISH、SUBSCRIBE、PSUBSCRIBE Redis Pub/Sub 是一種強大的消息傳遞范例&#xff0c;可在應用程序的不同部分之間實現實時通信。它是構建可擴展和響應式系統的基石&#xff0c;允許組件在沒有直接依賴的情況下進行交互。本章將全面介紹 Redis…