全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
14764 3
2020-05-25

通过pRoc包可以获取auc等值,但是并不给出p值(单个AUC,和AUC = 0.5相比)。通过verification包中的roc.area ()倒是可以计算出p值,但是计算出来的结果和SPSS不一致,到低应该如何计算roc的p值?

library(pROC)
library(verification)
data(aSAH)
head(aSAH)
r <- roc(aSAH$outcome, aSAH$s100b, plot=T)
levels(aSAH$outcome)<-c('0','1')
roc.area(as.numeric(as.vector(aSAH$outcome)), r$predictor)

$p.value
[1] 0.00002254601288
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-5-31 18:53:50

我搜了一些资料,也从stackoverflow上找到了一种获取p值的可行方法,分享如下:

se <- sqrt(var(r))  # 获取AUC的SE(标准误)
b <- r1$auc - .5
z <- (b / se)  # 计算Z值
2 * pt(-abs(z), df=Inf)  ## two-sided test

不知道是否正确,欢迎大家指正。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-5-31 18:59:48
我搜了一些资料,也从stackoverflow上找到了一种获取p值的可行方法,分享如下:
```R
se <- sqrt(var(r))  # 获取AUC的SE(标准误)
b <- r1$auc - .5
z <- (b / se)  # 计算Z值
2 * pt(-abs(z), df=Inf)  ## two-sided test
```
结果和SPSS的基本差不多(略有差别)
SPSS的p值:0.000007
上述代码的p值:0.000007508474
不知道是否正确,欢迎大家指正。

论坛回复编辑后没反应
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-4-12 18:03:56
可以使用网页版SPSSAU进行操作与分析。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群