首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从剂量.p [R包质量]原子矢量结果中提取数据

如何从剂量.p [R包质量]原子矢量结果中提取数据
EN

Stack Overflow用户
提问于 2013-10-02 10:35:58
回答 1查看 930关注 0票数 0

我使用dose.p从glm模型(probit模型)中计算EDx (例如ED50)数据。

代码语言:javascript
复制
glm.logit <- glm(cbind(nok,nges-nok) ~ log(dosis), family=binomial(lk), data=edx.data)
r <- dose.p(glm.logit,p=seq(0.1,0.9,0.2))

R如下:

代码语言:javascript
复制
             Dose         SE
p = 0.1: 0.866650 0.10578072
p = 0.3: 1.301613 0.06405342
p = 0.5: 1.574622 0.05168480
p = 0.7: 1.847632 0.05971840
p = 0.9: 2.282595 0.09898567

exp(r)将给出正确的EDx:

代码语言:javascript
复制
> exp(r)
             Dose         SE
p = 0.1: 2.378928 0.10578072
p = 0.3: 3.675219 0.06405342
p = 0.5: 4.828918 0.05168480
p = 0.7: 6.344778 0.05971840
p = 0.9: 9.802082 0.09898567

但是,如何提取所有的数字(剂量和SE),以便不仅能够计算EDx,而且还能计算下限和上置信度?最后,我想计算一下这样一个表格:

代码语言:javascript
复制
  p          Dose        Lower limit       Upper limit
0.1    exp(2.379)   exp(2.379-0.106)  exp(2.379+0.106)
0.2 ...

我试图提取这些数据,但得到了一条错误消息:

代码语言:javascript
复制
> se <- r$SE
    Error in r$SE : $ operator is invalid for atomic vectors

先谢谢你

克里斯蒂安

EN

回答 1

Stack Overflow用户

发布于 2022-01-08 23:48:20

您可以使用“属性”进行提取。将其放入data.frame使用

代码语言:javascript
复制
df = data.frame(p = seq(0.1,0.9,0.2), Dose.exp = unname(r[1:5]), SE = unname(attributes(r)$SE[, 1]))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19135287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档