gpt4 book ai didi

R icenReg 包 : Move plot legend for ic_np fit

转载 作者:行者123 更新时间:2023-12-01 13:22:47 25 4
gpt4 key购买 nike

我需要创建一个图来比较三个物种的区间截尾生存曲线。我能够使用 ic_np 生成显示所有三个曲线的图icenReg 中的函数R 中的包。当我绘制此 ic_np 的输出时适合使用 base R plot() , 一个图例出现在左下角。

这个例子来自icenReg包文档产生了类似的数字:

library(icenReg)
data(miceData)
fit <- ic_np(cbind(l, u) ~ grp, data = miceData) #Stratifies fit by group
plot(fit)

但是,左下角的标题涵盖了我生存曲线最有趣的比较,所以我想将图例移到右上角。

我看过this question关于在 base R 中为基本图设置图例位置。这个问题的答案似乎假设我可以生成没有图例的图,但我无法做到这一点。

我也看到了this question关于在默认情况下似乎不会生成图例的其他类型的生存分析中添加图例,但我无法使用区间截尾数据实现这些方法。

我读到我无法移动已经添加到情节中的图例,但我不知道如何在没有图例的情况下生成这个特定情节,以便我可以添加一个回到我想要的地方(右上角)。

我怎样才能 (a) 使用 ic_np 生成这个区间截尾 Kaplan-Meier 生存曲线图?没有图例——可能使用了 plot() 的一些隐藏参数-- 或 (b) 使用不同的绘图设备生成此图,假设绘图图例可以移动?

最佳答案

包中似乎没有 plot 函数的帮助页面,因此您需要确定 fit 对象的类并查看代码:

class(fit)
#[1] "ic_npList"
#attr(,"package")
#[1] "icenReg"

plot.ic_npList
#Error: object 'plot.ic_npList' not found

所以它没有导出,我们需要更深入地挖掘(这并不奇怪,因为导出的函数确实需要有帮助页面。)

 getAnywhere(plot.ic_npList)
#-----------
A single object matching ‘plot.ic_npList’ was found
It was found in the following places
registered S3 method for plot from namespace icenReg
namespace:icenReg
with value

function (x, fitNames = NULL, lgdLocation = "bottomleft", ...)
{
addList <- list(xlim = x$xRange, ylim = c(0, 1), xlab = "time",
ylab = "S(t)", x = NA)
dotList <- list(...)
#.........
#..........
legend(lgdLocation, legend = grpNames, col = cols, lty = 1)
}
<bytecode: 0x7fc9784fa660>
<environment: namespace:icenReg>

所以有一个用于图例放置的位置参数,明显的替代尝试是:

plot(fit, lgdLocation = "topright")

enter image description here

关于R icenReg 包 : Move plot legend for ic_np fit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49246217/

25 4 0
文章推荐: html - html5 支持 吗?
文章推荐: java - 循环重绘问题