【问题标题】:How to get the survival objects being created by the ctree?如何获取 ctree 创建的生存对象?
【发布时间】:2011-06-10 03:00:30
【问题描述】:

我想获取由 ctree 函数创建的生存对象。 原因是我想得到描述树每片叶子曲线的向量。

有人知道怎么做吗?

提前致谢! 胡同

【问题讨论】:

  • ctree 不是基本 R 函数。你指的是什么包?一些示例代码也将帮助您获得答案。
  • @Prasad,它在包party 中。加载包后见?ctree,得到一个简单的生存树示例。

标签: r classification


【解决方案1】:

您可以使用treeresponse 方法获得曲线。可能有更好的方法,但这是我想出的。

以下是使用?ctree:

的生存树示例的图示
require(party)
data("GBSG2", package = "ipred")
GBSG2ct <- ctree(Surv(time, cens) ~ .,data = GBSG2)
plot(GBSG2ct)

我们使用treeresponse进行训练数据来抓住(安装)的响应。这是一个列表,其中包含训练数据中每个观察值的组成部分。

out <- treeresponse(GBSG2ct)

每个组件ou​​t @ 987654327是一个生存对象,"survfit"

> class(out[[1]])
[1] "survfit"

对于此树,我们有四个终端节点,因此只有四个独特的生存对象。您可以使用where 方法查看观测值位于哪些节点

wnode <- where(GBSG2ct)

我们可以使用此索引是独特的生存对象。例如,对于节点 3(树图中最左边的节点)

> n3 <- which(wnode == 3 & !duplicated(wnode))
> n3
[1] 1
> out[[n3]]
> out[[n3]]
records   n.max n.start  events  median 0.95LCL 0.95UCL 
    686     248     248      88    2093    1814      NA

可以使用plot方法绘制节点3的生存曲线:

plot(out[[n3]], conf.int = FALSE, mark.time = FALSE)

除了轴上的范围之外,除了绘制的树上的节点3面板中使用的图。

对于此示例,您可以对节点 4、6 和 7 重复,但您需要根据数据和拟合树来定制使用哪些节点。

【讨论】:

  • 谢谢你非常帕萨德!我会试试看。您知道如何使用生存对象的参数“surv”吗?我想获得生成曲线的概率向量。再次感谢 - 胡同
  • @Alley 你需要查看生存包的帮助并阅读?survfit.object
  • 谢谢gavin,我会调查它。您非常乐于助人,很抱歉上次没有认出是您。
  • 好的,使用 : out[[1]]$surv 确实有效! :) 顺便说一句,你为什么写:out[[1]] 而不是 out[1]?这是什么意思?再次感谢
  • 你去学点R怎么样? [ @当应用于这样的列表时,out[1]返回一个单个组件的列表,所选的列表。 [[ 将返回该列表中的对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-29
  • 2016-10-18
  • 2014-04-27
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多