如何更改列线图、rms包中轴值的位置?

如何更改列线图、rms包中轴值的位置?,r,regression,R,Regression,如何更改rms r软件包的轴值!从水平到垂直的样式。下面是从rms软件包中提取的代码!轴值为水平样式。我想把它改成垂直的样式,我似乎能弄明白,我感谢任何帮助!谢谢 n <- 1000 # define sample size set.seed(17) # so can reproduce the results d <- data.frame(age = rnorm(n, 50, 10), blood.pressure = rnorm(n, 12

如何更改rms r软件包的轴值!从水平到垂直的样式。下面是从rms软件包中提取的代码!轴值为水平样式。我想把它改成垂直的样式,我似乎能弄明白,我感谢任何帮助!谢谢

n <- 1000    # define sample size
set.seed(17) # so can reproduce the results
d <- data.frame(age = rnorm(n, 50, 10),
                blood.pressure = rnorm(n, 120, 15),
                cholesterol = rnorm(n, 200, 25),
                sex = factor(sample(c('female','male'), n,TRUE)))

# Specify population model for log odds that Y=1
# Simulate binary y to have Prob(y=1) = 1/[1+exp(-L)]
d <- upData(d,
  L = .4*(sex=='male') + .045*(age-50) +
       (log(cholesterol - 10)-5.2)*(-2*(sex=='female') + 2*(sex=='male')),
  y = ifelse(runif(n) < plogis(L), 1, 0))

ddist <- datadist(d); options(datadist='ddist')


f <- lrm(y ~ lsp(age,50) + sex * rcs(cholesterol, 4) + blood.pressure,
         data=d)
nom <- nomogram(f, fun=function(x)1/(1+exp(-x)),  # or fun=plogis
    fun.at=c(.001,.01,.05,seq(.1,.9,by=.1),.95,.99,.999),
    funlabel="Risk of Death")
#Instead of fun.at, could have specified fun.lp.at=logit of
#sequence above - faster and slightly more accurate
plot(nom, xfrac=.45)
print(nom)
nom <- nomogram(f, age=seq(10,90,by=10))
plot(nom, xfrac=.45)
g <- lrm(y ~ sex + rcs(age, 3) * rcs(cholesterol, 3), data=d)
nom <- nomogram(g, interact=list(age=c(20,40,60)), 
                conf.int=c(.7,.9,.95))
plot(nom, col.conf=c(1,.5,.2), naxes=7)

w <- upData(d,
            cens = 15 * runif(n),
            h = .02 * exp(.04 * (age - 50) + .8 * (sex == 'Female')),
            d.time = -log(runif(n)) / h,
            death = ifelse(d.time <= cens, 1, 0),
            d.time = pmin(d.time, cens))


f <- psm(Surv(d.time,death) ~ sex * age, data=w, dist='lognormal')
med  <- Quantile(f)
surv <- Survival(f)  # This would also work if f was from cph
plot(nomogram(f, fun=function(x) med(lp=x), funlabel="Median Survival Time"))
nom <- nomogram(f, fun=list(function(x) surv(3, x),
                            function(x) surv(6, x)),
            funlabel=c("3-Month Survival Probability", 
                       "6-month Survival Probability"))
plot(nom, xfrac=.7)

 [![This is the nomogram result][1]][1]

n刚刚做了@JohanLarssonI查看了函数
rms:::plot.nomogram
,我认为没有一种简单的方法可以实现这一点。我猜您至少需要调整对
rms:::axisf的所有调用,然后可能需要使用
library(gridBase)
中的某些内容旋转整个绘图。我还是一个初学者,在设置rms:::axisf时遇到一些错误,如果你能分享代码以防万一,我会继续努力的,@Johan larsson除非你要生成很多图形,我建议你还是咬紧牙关,在图像编辑器中编辑图形好吗?这可能会更快。我会更新我的问题,直到你看到问题,这些值太压缩了,有些不可见@Johan LarssonJust did@JohanLarssonI查看了函数
rms:::plot.nomogram
,我认为没有一个简单的方法来实现这一点。我猜您至少需要调整对
rms:::axisf的所有调用,然后可能需要使用
library(gridBase)
中的某些内容旋转整个绘图。我还是一个初学者,在设置rms:::axisf时遇到一些错误,如果你能分享代码以防万一,我会继续努力的,@Johan larsson除非你要生成很多图形,我建议你还是咬紧牙关,在图像编辑器中编辑图形好吗?这可能会更快。我会更新我的问题,直到你看到问题,这些值太压缩了,有些不可见@Johan Larsson