首页 > 解决方案 > 如何从R中的函数dose.p(包MASS)中提取SE?

问题描述

我正在使用dose.p(来自R中的包MASS)。我能够提取“剂量”但不能提取“SE”。

#Sample
df <- data.frame(time = 1:10, value = c(0.9, 0.7, 0.5, 0.0, 0.3, 0.4, 0.0, 0.1, 0.1 ,0.0))

library(MASS)
my.glm<-glm(value ~ time, family=binomial(link="logit"), df)             
my.p50<-dose.p(my.glm, cf = c(1,2), p = 0.5)
my.p50

             Dose       SE
p = 0.5: 3.154826 1.634532

我可以提取“剂量”;

my.p50[1]

但是有;

my.p50[2]

我明白了;

<NA> 
  NA 

请帮忙!

标签: r

解决方案


尝试

unname(attributes(my.p50)$SE[, 1]) # unname is optional
[1] 1.634532

查看结构以了解在哪里寻找

str(my.p50)
#Class 'glm.dose'  atomic [1:1] 3.15
#  ..- attr(*, "SE")= num [1, 1] 1.63
#  .. ..- attr(*, "dimnames")=List of 2
#  .. .. ..$ : chr "p = 0.5:"
#  .. .. ..$ : NULL
#  ..- attr(*, "p")= num 0.5

推荐阅读