【发布时间】:2020-08-24 08:24:21
【问题描述】:
我需要在data.table 中的多个列的每个级别上执行一个函数。例如,使用来自survival 的lung 数据集:
library(survival)
library(data.table)
library(dplyr)
data(lung)
setDT(lung)
vars <- c("sex", "ph.ecog")
lung[, (vars) := lapply(.SD, factor), .SDcols = vars]
fit <- tibble()
for (i in levels(lung[, vars ])){
temp <-
coxph(
Surv(time, status) ~ i,
data = lung
) %>%
broom::tidy(exp=T)
fit <- bind_rows(fit, temp)
}
这不起作用 - 我怎样才能成功?
【问题讨论】:
-
尝试从末尾删除第 4 行中的
%>%。它不像这样工作。将coxph保存在一个新变量中,然后对其进行操作。不可能像您那样将%>%放入赋值运算符。 -
你是对的,我编辑了它。但这并不能解决我的问题。
标签: r survival-analysis