comp() returns 排名而不是 p 值

comp() returns ranks instead of p-values

我得到了 comp() 应该返回 p-vals 的例子,但它最终返回了排名所以让我问一下:
为什么 survmisc 包中的 comp() 函数返回排名而不是 p 值?
有办法改变吗?

test_drug <- survfit(Surv(N_Days,Cens) ~ Drug, data = df)
comp(ten(test_drug), p=c(0,1,1,0.5,0.5),q=c(1,0,1,0.5,2))

输出:

                        Q        Var       Z pNorm
1              3.3457e+00 2.7643e+01 0.63634     4
n              3.2000e+02 1.0304e+06 0.31524    10
sqrtN          3.4634e+01 4.8218e+03 0.49877     9
S1             2.1524e+00 1.6867e+01 0.52410     7
S2             2.1294e+00 1.6650e+01 0.52185     8
FH_p=0_q=1     1.1647e+00 2.2356e+00 0.77898     3
FH_p=1_q=0     2.1809e+00 1.7056e+01 0.52809     6
FH_p=1_q=1     8.4412e-01 7.9005e-01 0.94968     1
FH_p=0.5_q=0.5 1.6895e+00 4.1759e+00 0.82678     2
FH_p=0.5_q=2   2.7491e-01 2.2027e-01 0.58575     5
                  maxAbsZ        Var       Q pSupBr
1              5.8550e+00 2.7643e+01 1.11361      5
n              9.7000e+02 1.0304e+06 0.95556      6
sqrtN          6.3636e+01 4.8218e+03 0.91643      7
S1             3.5891e+00 1.6867e+01 0.87391      9
S2             3.5737e+00 1.6650e+01 0.87581      8
FH_p=0_q=1     2.2539e+00 2.2356e+00 1.50743      2
FH_p=1_q=0     3.6025e+00 1.7056e+01 0.87230     10
FH_p=1_q=1     1.4726e+00 7.9005e-01 1.65678      1
FH_p=0.5_q=0.5 2.9457e+00 4.1759e+00 1.44148      3
FH_p=0.5_q=2   6.3430e-01 2.2027e-01 1.35150      4

所以根据这里的题目:
https://github.com/dardisco/survMisc/issues/21

以及我从早先解决问题的教授讲师那里得到的信息。 这是 R 版本的问题,作者或贡献者需要更新函数本身。

这可以通过使用 attr() 函数和 'tft' 代表趋势测试的参数来解决。此处的代码示例:

test_bilirubin <- survfit(Surv(N_Days,Cens) ~ Bilirubin_cat, data = df)
b=ten(test_bilirubin)
comp(b,p=c(0,1,1,0.5,0.5),q=c(1,0,1,0.5,2))
d=attr(b,"tft")
# "lrt" - the long-rank family of tests 
#"sup" - Renyi test, 
#"tft" - test for trend 
cbind(d$tft$W,round(d$tft$pChisq,4))