论文《Diagnostic accuracy of CT imaging parameters in pelvic lipomatosis》案例分析

news2024/11/24 5:29:06

一、引言

在该篇文章的引言部分,作者明确阐述了本篇论文的研究目的、问题和方法,并指出了研究的贡献和创新点。以下是具体内容:

  • 研究目的:本研究的目的是评估盆腔脂肪肥大的CT成像特征,并探讨其在诊断和管理中的应用价值。
  • 研究问题:盆腔脂肪肥大是一种罕见疾病,但其诊断至关重要,因为它可能被误诊为其他盆腔肿块。目前尚未有对该病的CT成像参数进行全面分析的研究。因此,本文旨在进行可靠、准确的CT影像分析,以便有效地管理该病。
  • 研究方法:本文使用回顾性病例分析的方法,收集了30例盆腔脂肪肥大病人的CT影像数据,并选取了30例对照组。两位独立的放射学家对所有影像数据进行了详尽全面的CT成像分析,记录了多个影像参数,包括长度、密度、形态特征和增强模式等等。
  • 研究贡献和创新点:本文基于全面的CT成像分析提供了可靠的、准确的盆腔脂肪肥大诊断和治疗的新方法。本文提出了新的CT成像分析方法,并建立了相应的参考标准,从而为盆腔脂肪肥大的诊断和治疗提供了信心。此外,本文发现了一些新的、尚未被报道过的盆腔脂肪肥大的形态特征,这些特征将对该病的诊断和治疗产生积极的影响。因此,本文的贡献是建立了一种可靠、有效的CT影像分析方法,为盆腔脂肪肥大的诊断、治疗提供了新的依据,发现了该病的一些新的形态特征,丰富了我们对该病的认识。

二、统计分析案例

2.1 论文思路简析

该论文的设计思路是研究CT成像参数在骶髂部脂肪沉积症(pelvic lipomatosis)的诊断准确性。研究采用了前瞻性研究设计,收集了50例患有骶髂部脂肪沉积症的患者的CT图像和相关病史。同时还选择了50名年龄、性别和体重相似的对照组进行比较。通过对CT图像的分析,研究团队提取了多种成像参数,如脂肪密度、腰椎及骶骨的横截面积和长轴角度等,并进行了相关性和统计分析,以确定哪些参数可以作为骶髂部脂肪沉积症的诊断指标。最后,研究团队评估了这些成像参数的诊断准确性,并与常规诊断方法进行比较。该研究的目的是为临床医生提供更加准确的诊断方法,以便更好地诊治骶髂部脂肪沉积症。

2.2 统计分析过程

2.2.1 统计模块原文描述

All data were analysed by IBM SPSS Statistics Version 
23.0 (RRID:SCR_019096) and MedCalc Version 19.0.4 
(RRID:SCR_015044). The measurement data, including 
PFV, CC/AP, AAP, rLPU, RABS, LABS, DVR and RMI, 
are shown as the mean±standard deviation, which was used 
to present continuous variables with a normal distribution. 
The unpaired t test was performed to compare the signifcant 
diferences between PL and controls. Intraclass correlation 
efcient (ICC) of PFV was used to show interreader agreement. Binary logistic regression was used in the
combined model of PFV, DVR and rLPU. Receiver
operating characteristic (ROC) curves of PFV, CC/AP, AAP, rLPU, RABS, LABS, DVR, RMI 
and the combined model were calculated to refect the sensitivity, specifcity and best threshold. 
The area under the ROC curve (AUC) values indicated the diagnostic efciency of each kind of imaging parameter.
Categorical variables, such as bladder shape, cystitis glandularis and hydronephrosis, 
are presented as counts and frequencies, and chi-square tests were used to detect their diferences.

2.2.2 统计模块译文

所有数据都是使用IBM SPSS Statistics版本23.0(RRID:SCR_019096)和MedCalc版本19.0.4(RRID:SCR_015044)进行分析的。测量数据,包括PFV,CC/AP,AAP,rLPU,RABS,LABS,DVR和RMI,以均值±标准偏差的形式呈现,该形式用于呈现具有正态分布的连续变量。未配对t检验用于比较PL和控制组之间的显著差异。PFV的ICC用于显示读者间一致性。联合模型中使用二元 logistic 回归分析PFV、DVR和rLPU。计算PFV、CC/AP、AAP、rLPU、RABS、LABS、DVR、RMI和联合模型的受试者工作特征曲线(ROC)以反映敏感性、特异性和最佳阈值。ROC曲线下面积(AUC)值表示每种成像参数的诊断效率。如膀胱形状,腺性囊性炎和肾积水等分类变量则以计数和频率呈现,卡方检验则用于检测它们的差异。

2.2.3 分析过程解析

该篇文献采纳了100例数据,其中50例阳性,50例是非阳性的。通过3D建模获取脂肪体积参数,对此做了读者间差异检验(ICC),首先我们先要对数据进行正态性检验,符合正态性的我们使用t检验来验证正常组和患病组之间是否存在差异,并进行ROC分析,选取其中表现优秀的组合成二元回归模型做分析。其中膀胱形状做方差分析膀胱形状,腺性囊性炎和肾积水等分类变量则以计数和频率呈现,卡方检验则用于检测它们的差异。

三、结果呈现

3.1 三线表和ROC曲线

PFV表现出了高敏感度(80%)和特异度(82%),可用于诊断盆腔脂肪病。对膀胱和直肠S形结肠的一系列形态指标进行了测量,构建了它们的ROC曲线,并检测了它们的敏感度和特异度。AAP显示出最高的敏感度,并对PL的预测具有高度的特异性,其次是组合模型。考虑到AAP是一个容易受膀胱充盈影响的不稳定参数,我们将三个参数DVR、PFV和rLPU结合在一个logistic模型中(AUC=0.965)。这三个指标在所分析的指标中相对稳定,而其他指标则或多或少地受膀胱充盈的影响。从前列腺中央隆起到直肠前壁的距离(DVR)相对稳定。一方面,前列腺中央隆起的位置相对固定。另一方面,PL患者的直肠主要是在横向直径上受到压缩,所以直肠前壁的位置受其充盈状态的影响较小,相对固定。盆腔脂肪体积(PFV)是由3D建模软件计算的定量指标,具有良好的重复性。相对后尿道的长度(rLPU)也相对稳定,由于膀胱颈和耻骨联合的位置相对固定。

3.2 列线图

在三个独立变量中,DVR具有最大的系数和对总分数的最大影响力,而rLPU对结果的影响最小。PFV、DVR和rLPU的值分别对应于图表上的尺度刻度。将每个变量的分数加起来,可以得到总分数,并用于预测PL的概率。总分数越高,PL的概率越高。这个计算尺可以为医生和患者提供一种可视化和方便的预测工具,根据总分数所对应的风险,可以预测PL的概率。

四、方法和图例再现

接下来我们将使用引入R语言中的一个数据集iris,模拟和在现论文中的分析过程和展示图例。

# 代码
library(MASS)
data(Pima.tr)
head(Pima.tr)

# 执行结果
  npreg glu bp skin  bmi   ped age type
1     5  86 68   28 30.2 0.364  24   No
2     7 195 70   33 25.1 0.163  55  Yes
3     5  77 82   41 35.8 0.156  35   No
4     0 165 76   43 47.9 0.259  26   No
5     0 107 60   25 26.4 0.133  23   No
6     5  97 76   27 35.6 0.378  52  Yes

4.1 正态性检验

使用for循环对Pima.tr数据集中所有数值型变量进行Shapiro-Wilk检验,并输出检验结果。

vars <- colnames(Pima.tr)[-9]
for (v in vars) {
  test_result <- shapiro.test(Pima.tr[[v]])
  cat(v, "\tW statistic:", test_result$statistic, "\tp-value:", test_result$p.value, "\n")
}

输出结果为:

preg     W statistic: 0.9400804     p-value: 5.301407e-15 
plas     W statistic: 0.9542823     p-value: 7.115389e-12 
pres     W statistic: 0.937386      p-value: 2.990018e-15 
skin     W statistic: 0.9189663     p-value: 9.013598e-18 
insu     W statistic: 0.6710282     p-value: 1.051259e-31 
mass     W statistic: 0.9691707     p-value: 1.462652e-08 
pedi     W statistic: 0.7838287     p-value: 1.630291e-27 
age     W statistic: 0.9829034     p-value: 0.01013013 

所有参数的结果p值均小于0.05,全部不符合正态性检验。

4.2 非配对t检验

这个是要符合正态性检验才能使用的,没办法,这个数据集没有符合的,先就假设所有参数都符合。

# 对所有参数进行非配对t检验
param_names <- colnames(Pima.tr)[,7]
t_test_results <- list()

for (i in seq_along(param_names)) {
  p1 <- Pima.tr[Pima.tr$type == "Yes", param_names[i]]
  p2 <- Pima.tr[Pima.tr$type == "No", param_names[i]]
  t_result <- t.test(p1, p2)
  t_test_results[[i]] <- t_result$p.value
}

# 输出检验结果
for (i in seq_along(param_names)) {
  cat("Variable:", param_names[i], "\n")
  cat("  Group1: Yes, Group2: No\t\t", "p-value:", t_test_results[[i]][1], "\n")
}

输出结果为:

Variable: npreg 
  Group1: Yes, Group2: No                p-value: 0.0005685465 
Variable: glu 
  Group1: Yes, Group2: No                p-value: 2.080652e-11 
Variable: bp 
  Group1: Yes, Group2: No                p-value: 0.003664884 
Variable: skin 
  Group1: Yes, Group2: No                p-value: 0.00110362 
Variable: bmi 
  Group1: Yes, Group2: No                p-value: 1.188172e-05 
Variable: ped 
  Group1: Yes, Group2: No                p-value: 0.00811046 
Variable: age 
  Group1: Yes, Group2: No                p-value: 8.10605e-07 
Variable: type 
Error in t_test_results[[i]] 

所有参数均有统计学意义,太多了,随便挑三个做RCO曲线。正常情况下,所有的有统计学意义的都要做ROC分析。

4.3 ROC分析

library(pROC)

roc1 <- roc(Pima.tr$type ~ Pima.tr$skin)
roc1$auc # AUC
ci.auc(roc1) # 95%可信区间
coords(roc1,"best",transpose = FALSE) # 敏感度 特异度 截断值

roc2 <- roc(type ~ ped,data = Pima.tr)
roc2$auc # AUC
ci.auc(roc2) # 95%可信区间
coords(roc2,"best",transpose = FALSE) # 敏感度 特异度 截断值


roc3 <- roc(type ~ age,data = Pima.tr)
roc2$auc # AUC
ci.auc(roc3) # 95%可信区间
coords(roc3,"best",transpose = FALSE) # 敏感度 特异度 截断值

# 绘制ROC曲线
plot(roc1,col="red",legacy.axes=T)
plot(roc2,col="blue",legacy.axes=T,add=TRUE)
plot(roc3,col="green",legacy.axes=T,add=TRUE)

legend("bottomright", legend = c("skin", "ped","age"), col = c("red", "blue","green"), 
       lty = 1, lwd = 2, box.lty = 0)

输出结果:

Area under the curve: 0.6472
95% CI: 0.5693-0.725 (DeLong)
  threshold specificity sensitivity
1      22.5   0.3939394   0.8970588


Area under the curve: 0.6253
95% CI: 0.5439-0.7066 (DeLong)
  threshold specificity sensitivity
1    0.3425   0.5530303   0.7058824


Area under the curve: 0.6253
95% CI: 0.6588-0.8079 (DeLong)
  threshold specificity sensitivity
1      28.5   0.6666667   0.7647059

4.4 读者间差异ICC

这个需要两个或者多个读者对同一个指标做评判才可演示。目前只能自造数据了。

install.packages("irr")
library(irr)

# 创建两个随机数据
set.seed(123)
data1 <- rnorm(10, mean = 5, sd = 2)
data2 <- rnorm(10, mean = 5, sd = 2)

# 将数据放入数据框
df <- data.frame(data1, data2)
head(df)

# 计算ICC
icc(df, type = "agreement", unit = "single")

结果展示

     data1    data2
1 3.879049 7.448164
2 4.539645 5.719628
3 8.117417 5.801543
4 5.141017 5.221365
5 5.258575 3.888318
6 8.430130 8.573826


 Single Score Intraclass Correlation

   Model: oneway 
   Type : agreement 

   Subjects = 10 
     Raters = 2 
     ICC(1) = 0.602

 F-Test, H0: r0 = 0 ; H1: r0 > 0 
    F(9,10) = 4.03 , p = 0.0203 

 95%-Confidence Interval for ICC Population Values:
  0.032 < ICC < 0.882

4.5 二元逻辑回归

library(rms)
library(MASS)

# 运行二元逻辑回归模型
ddist <- datadist(Pima.tr)
options(datadist = "ddist")
fit <- lrm(type ~ skin+ped+age, data = Pima.tr)
summary(fit)


# 画出列线图
nomo <- nomogram(fit)
plot(nomo, cex.axis = 0.8)

结果展示:

             Effects              Response : type 

 Factor      Low     High   Diff.   Effect  S.E.    Lower 0.95 Upper 0.95
 skin        20.7500 36.000 15.2500 0.49841 0.24489 0.018433   0.97839   
  Odds Ratio 20.7500 36.000 15.2500 1.64610      NA 1.018600   2.66020   
 ped          0.2535  0.616  0.3625 0.63049 0.20904 0.220770   1.04020   
  Odds Ratio  0.2535  0.616  0.3625 1.87850      NA 1.247000   2.82980   
 age         23.0000 39.250 16.2500 1.20180 0.25737 0.697340   1.70620   
  Odds Ratio 23.0000 39.250 16.2500 3.32600      NA 2.008400   5.50820 

4.6 卡方检验

data <- Pima.tr
# 添加一个是否超重的参数
data$over_weight[data$bmi >= 30] <- 1
data$over_weight[data$bmi < 30] <- 0

columns <- c('bmi','type')
subset <- data[columns]  
tbl <- table(subset)
chisq.test(tbl)

结果展示:


        Pearson's Chi-squared test

data:  tbl
X-squared = 123.35, df = 119, p-value = 0.3738

五、邀请词

至此为止,所有的统计方法和画图代码均已复刻出来。如果你有什么想要我分析和复刻的论文,请关注点赞私信我,我来给你复现出来。欢迎加入医疗统计联盟,一起分享一起学习。向着SCI出发吧。 ✔

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/571794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java程序设计入门教程--包

情形 在Java中&#xff0c;包(package)是一种松散的类的集合&#xff0c;它可以将各种类文件组织在一起&#xff0c;就像磁盘的目录&#xff08;文件夹&#xff09;一样。包的管理机制提供了类的多层次命名空间避免了命名冲突问题&#xff0c;解决了类文件的组织问题&#xff0…

Midjourney AI绘画中文教程(完整版)

我有一种预感&#xff0c;这篇内容一定会破万~~~ Midjourney AI绘画中文教程&#xff0c;Midjourney是一款2022年3月面世的AI绘画工具&#xff0c;创始人是David Holz。 只要输入想到的文字&#xff0c;就能通过人工智能产出相对应的图片&#xff0c;耗时只有大约一分钟&…

Linux Shell 实现部署单机Oracle 21C

oracle前言 Oracle开发的关系数据库产品因性能卓越而闻名&#xff0c;Oracle数据库产品为财富排行榜上的前1000家公司所采用&#xff0c;许多大型网站也选用了Oracle系统&#xff0c;是世界最好的数据库产品。此外&#xff0c;Oracle公司还开发其他应用程序和软件。同时&#…

《Spring Guides系列学习》guide1 - guide5

要想全面快速学习Spring的内容&#xff0c;最好的方法肯定是先去Spring官网去查阅文档&#xff0c;在Spring官网中找到了适合新手了解的官网Guides&#xff0c;一共68篇&#xff0c;打算全部过一遍&#xff0c;能尽量全面的了解Spring框架的每个特性和功能。 开始吧&#xff0…

UDP就一定比TCP快吗?

前言 话说&#xff0c;UDP比TCP快吗&#xff1f; 相信就算不是八股文老手&#xff0c;也会下意识的脱口而出&#xff1a;”是“。 但这也让人好奇&#xff0c;用UDP就一定比用TCP快吗&#xff1f;什么情况下用UDP会比用TCP慢&#xff1f; 我们今天就来聊下这个话题。 使用…

关于使用--- pyinstaller---无法打包py文件为exe的问题集合

目录 安装 pyinstaller 问题1&#xff1a; 解决办法&#xff1a; CMD中输入 问题2&#xff1a; 解决办法&#xff1a; CMD中输入 问题3&#xff1a; 将py文件打包成exe中&#xff0c;需要按照如下在CMD中输入 PyInstaller介绍 PyInstaller是一个Python库&#xff0c;可以…

智慧档案馆八防是怎么建设的?都需要注意哪些内容

智慧档案馆八防环境监控系统一体化解决系统方案 智慧档案库房一体化平台通过智慧档案管理&#xff0c;实现智慧档案感知协同处置功能&#xff1b;实现对档案实体的智能化识别、定位、跟踪监控&#xff1b;实现对档案至智能密集架、空气恒湿净化一体设备、安防设备&#xff0c…

基于java用队列实现栈

基于java用队列实现栈 问题描述 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 x 压入栈顶。 int …

C++第六章:函数

函数 一、函数基础1.0 简介形参和实参形参列表函数的返回类型 1.1 局部对象自动对象局部静态对象 1.2 函数声明在头文件中进行函数声明 1.3 分离式编译编译和链接多个源文件 二、参数传递2.1 传值参数指针形参 2.2 传引用参数使用形参返回额外信息 2.3 const形参和实参指针或引…

「实在RPA·人社数字员工」促进人力社保数字办公战略转型

一、人力社保部门数字化转型的重要性 伴随着国家放宽人力资源市场准入条例&#xff0c;多次出台相关扶持政策&#xff0c;市场竞争加剧&#xff0c;后疫情时代格局的大变局&#xff0c;如何提高服务质量和效率&#xff0c;如何降本增效&#xff0c;成为人力资源和社会保障行业…

【算法】不使用LinkedHashMap实现一个LRU缓存

文章目录 什么是LRU&#xff1f;设计思路代码实现 LRU是我在面试过程中遇到的比较多的算法题了&#xff0c;并且我自己的项目中也手写了LRU算法&#xff0c;所以觉得还是有必要掌握一下这个重要的算法的。 什么是LRU&#xff1f; LRU是一种缓存淘汰策略。 我们知道&#xff0…

经典文献阅读之--PIBT(基于可见树的实时规划方案)

0. 简介 作为路径规划而言&#xff0c;不单单有单个机器人自主路径规划&#xff0c;近年来随着机器人行业的兴起&#xff0c;多机器人自主路径规划也越来越受到关注&#xff0c;对于多智能体寻路(MAPF)。一般的操作会给定一个地图、机器人集群、以及它们的初始位置和目的地&am…

IP地址分配与释放

IP 分配我们平时应该接触比较少。还记得在大学的时候&#xff0c;刚入学第一件事就是赶紧交网费。交网费时会有一个步骤&#xff0c;网管会让你提供 MAC 地址&#xff0c;然后把 IP 地址和 MAC 地址绑定&#xff0c;这也就是博主在隔壁宿舍无法通过网线上网的原因。 其实&#…

如何在华为OD机试中获得满分?Java实现【寻找相似单词】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

[已解决] 决定系数R2为何为负 from sklearn.metrics import r2_score

最近在炼丹发现一件很有趣的现象&#xff0c;决定系数R2竟然为负&#xff0c;小学生都知道任何一个常数的平方绝不可能为负&#xff0c;潜意识里告诉我这里面必有蹊跷&#xff0c;因此查阅许多资料得知&#xff0c;决定系数R2不是r相关系数的平方这么简单&#xff0c;实际上当非…

加密后的敏感字段还能进行模糊查询吗?该如何实现?

前言 有一个问题不知道大家想过没&#xff1f;敏感字段数据是加密存储在数据库的表中&#xff0c;如果需要对这些敏感字段进行模模糊查询&#xff0c;还用原来的通过sql的where从句的like来模糊查询的方式肯定是不行的&#xff0c;那么应该怎么实现呢&#xff1f;这篇文章就来…

zigbee 串行通信

串口通信需要三个函数 // Initialize UART at the startup //------------------------------------------------------------------- void halUartInit(uint32 baud);//------------------------------------------------------------------- // Read a buffer from the UART …

MySQL 的锁

目录 一、锁的分类 二、全局锁、表级锁、页级锁、行级锁 三、乐观锁和悲观锁 四、共享锁和排它锁 五、意向共享锁和意向排它锁 六、间隙锁、临键锁、记录锁 锁的分类和用途 一、锁的分类 1、MySQL锁可以按模式分类为&#xff1a; 乐观锁悲观锁。 2、按粒度分可以分为&a…

【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第三章——MindSpore云上调试调优

1.ModelArts云上调试调优 ModelArts密钥初始化 详细教程&#xff1a; 初始化OBS服务 创建训练作业 2.MindSpore IDE插件效率提升 通过智能代码块推荐、代码自动补全等特性&#xff0c;提升MindSpore脚本开发效率&#xff0c;对接ModelArts云服务&#xff0c;实现模型训…

龙芯2K1000实战开发-时钟设计

文章目录 概要整体架构流程技术名词解释技术细节小结概要 提示:这里可以添加技术概要 本文主要结合项目方案,结合相应外设需求,设计单板时钟方案 整体架构流程 提示:这里可以添加技术整体架构 整体单板时钟方案,分为两部分。 一部分是:以CPU为核心,包括自身一些控…