- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 survminer 包中的 ggsurvplot 绘制 Kaplan-Meyer 曲线。当我传递保存在列表中的 survfit 对象时,我无法绘制它。
让我以肺部数据集为例。下面一切正常:
library("survival")
library("survminer")
fit <- survfit(Surv(time, status) ~ sex, data = lung)
ggsurvplot(fit,
conf.int = TRUE,
risk.table.col = "strata",
palette = c("#E7B800", "#2E9FDF"),
xlim = c(0, 600))
现在我对两个变量进行生存拟合并将模型结果保存在列表中。然后尝试用ggsurvplot制作KM图。
vars <- c('sex', 'ph.ecog')
l<- map (vars, ~survfit(Surv(time, status)~ get(.x),data = lung ))
l<- set_names(l, vars)
ggsurvplot(l$sex,
conf.int = TRUE,
risk.table.col = "strata",
palette = c("#E7B800", "#2E9FDF"),
xlim = c(0, 600))
我收到这样的错误消息:
Error in eval(inp, data, env) : object '.x' not found
有人知道为什么吗?我该如何解决这个问题?非常感谢!
最佳答案
第一个需要加载所需的一个或多个包。我想现在许多用户认为运行 R 意味着每个人都应该拥有 tidyverse,但事实并非如此。
library(tidyverse)
# run both your code segments, since you will need a small piece of first one
str(l$sex)
List of 14
$ n : int [1:2] 138 90
$ time : num [1:206] 11 12 13 15 26 30 31 53 54 59 ...
$ n.risk : num [1:206] 138 135 134 132 131 130 129 128 126 125 ...
$ n.event : num [1:206] 3 1 2 1 1 1 1 2 1 1 ...
$ n.censor : num [1:206] 0 0 0 0 0 0 0 0 0 0 ...
$ surv : num [1:206] 0.978 0.971 0.957 0.949 0.942 ...
$ type : chr "right"
$ strata : Named int [1:2] 119 87
..- attr(*, "names")= chr [1:2] "get(.x)=1" "get(.x)=2"
$ std.err : num [1:206] 0.0127 0.0147 0.0181 0.0197 0.0211 ...
$ upper : num [1:206] 1 0.999 0.991 0.987 0.982 ...
$ lower : num [1:206] 0.954 0.943 0.923 0.913 0.904 ...
$ conf.type: chr "log"
$ conf.int : num 0.95
$ call : language survfit(formula = Surv(time, status) ~ get(.x), data = lung)
- attr(*, "class")= chr "survfit"
所以当你看到strata
时“名称”属性,它有一个 get(
- 调用它,这似乎阻碍了 ggsurvplot
的逻辑。使用attr<-
将其替换为更具信息性的内容(并且较少“语言-y”)。
attr(l[['sex']][['strata']], "names") <- c("sex=1", "sex=2")
该表达式也位于“call”叶中,因此您需要将其替换为更容易处理的内容。我认为通过将其替换为 "call" leaf from the first
很容易做到适合你制作的对象:
l$sex$call <- fit$call
ggsurvplot(l$sex,
conf.int = TRUE,
risk.table.col = "strata",
palette = c("#E7B800", "#2E9FDF"),
xlim = c(0, 600))
关于r - 无法使用 ggsurvplot 列表中的 survfit 对象绘制 kaplan-meier 曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872703/
我拥有的是使用 R 对机械心脏支持患者进行的 Kaplan-Meier 分析。 我需要的是将以下数据添加到图中(如示例中所示): 因心脏移植 (HTX) 而幸存的患者 死亡患者 换句话说,有两组,其中
我在 R 中使用以下代码建立了一个 Cox 比例风险模型,该模型可以预测死亡率。添加协变量 A、B 和 C 只是为了避免混淆(即年龄、性别、种族),但我们真正对预测变量 X 感兴趣。X 是一个连续变量
我正在尝试使用ggplot2绘制一些Kaplan-Meier曲线,代码位于:https://github.com/kmiddleton/rexamples/blob/master/qplot_surv
我正在尝试使用 dplyr 管道创建 Kaplan-Meier 生命表。在不使用 for 循环的情况下,我无法计算累积生存概率。这是一些示例数据。 df
这个问题已经有答案了: Create a ggplot2 survival curve with censored table (2 个回答) 已关闭 7 年前。 我想要生存估计的置信区间的阴影。现在
有在D3中绘制Kaplan Meier曲线的示例吗?我的数据集也包含审查信息。我对如何使用 d3 绘制它感到困惑。我的数据位于 csv 文件中。 最佳答案 请参阅Nick Strayer's Bloc
我正在使用出版物中使用的确切数据集重新运行 Kaplan-Meier Survival Curves,使用该出版物中使用的数据集(Charpentier 等人,2008 - 环尾狐猴的近亲繁殖抑制(L
对于在同行评审的科学期刊 (http://www.redjournal.org) 上发表的文章,我们想准备 Kaplan-Meier 图。该杂志对这些情节有以下具体指导方针: “如果您的数字包括使用
我正在尝试使用 survminer 包中的 ggsurvplot 绘制 Kaplan-Meyer 曲线。当我传递保存在列表中的 survfit 对象时,我无法绘制它。 让我以肺部数据集为例。下面一切正
我正在使用 survminer 包中的 ggsurvplot 创建 Kaplan-Meier 图,显示精神疾病家族史与精神疾病发作之间的关系。这是我使用的代码: km_fhr <- ggsurvplo
我想使用 ggplot2 创建一个 Kaplan-Meier 图,下面有一个风险数字表,指示每个时间点(即 x 轴刻度)每个组的风险数字。有风险的数字应与相应的刻度对齐。留在风险数字表的行名称应指示风
我是一名优秀的程序员,十分优秀!