首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用减法方程在R中生成图

如何用减法方程在R中生成图
EN

Stack Overflow用户
提问于 2022-02-15 07:36:28
回答 1查看 126关注 0票数 0

我正在使用RStudio。我使用来自nomogram包的命名图函数rms创建了一个命名图。以下是守则:

代码语言:javascript
复制
library("rms")

n <- 100 
set.seed(17)

dat <- data.frame(BMI = abs(rnorm(n,30,0.5)),
                 Rib = abs(rnorm(n,10,0.1)),
                 LSM = abs(rnorm(n,36,2)))

dat <- upData(dat,
             labels=c(BMI='BMI', LTR = 'LTR', LSM='LSM'),
             units=c(BMI='kgm-2', LSM='mm', LTR='cm'),
             L = .045*(BMI-30) +
               (log(LSM - 10)-5.2),
             y_sample = ifelse(runif(n) < plogis(L), 1, 0))

dst <- datadist(dat)
options(datadist ="dst")

mmwm <- rms::lrm(y_sample ~ as.numeric(1.43*BMI) - LTR*(1.03*LSM) - 33.19,
                data=dat,  x=TRUE, y=TRUE)

mmwmngram <- nomogram(mmwm,  fun=plogis,
                     funlabel="dIMC-N Results")

plot(mmwmngram, xfrac=.45)

预期的结果是绘制出如下所示的图:

我得到的错误如下所示:

terms.formula中的错误(公式,数据=数据,特殊值= NULL):ExtractVars中无效的模型公式

我想了解我需要编写什么样的代码才能使用这个等式(1.43*BMI) - LTR*(1.03*LSM) - 33.19

EN

回答 1

Stack Overflow用户

发布于 2022-02-15 15:26:57

您在公式中使用了LTR,但它不是dat的列。因此,函数不能提取该变量。R公式是抽象型的,例如y ~ x + b表示任何线性函数,y ~ x + b - 1是没有偏差的任何线性函数。你能做某事。就像这样:

代码语言:javascript
复制
library("rms")

n <- 100
set.seed(17)

dat <- data.frame(
  BMI = abs(rnorm(n, 30, 0.5)),
  Rib = abs(rnorm(n, 10, 0.1)),
  LSM = abs(rnorm(n, 36, 2))
)

dat <- upData(dat,
  labels = c(BMI = "BMI", LTR = "LTR", LSM = "LSM"),
  units = c(BMI = "kgm-2", LSM = "mm", LTR = "cm"),
  L = .045 * (BMI - 30) +
    (log(LSM - 10) - 5.2),
  y_sample = ifelse(runif(n) < plogis(L), 1, 0)
)

dst <- datadist(dat)
options(datadist = "dst")

dat$BMI <- dat$BMI * 1.43

mmwm <- rms::lrm(y_sample ~ BMI + LSM + 1,
  data = dat, x = TRUE, y = TRUE
)

mmwmngram <- nomogram(mmwm,
  fun = plogis,
  funlabel = "dIMC-N Results"
)

plot(mmwmngram, xfrac = .45)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71122626

复制
相关文章

相似问题

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