0

我对 R 中的变量的引用有问题。

寻找我的简单功能:

 CoxStep <- function(dataset,a,b){  
 m1 = coxph(Surv(b,a)~.-dataset[,b]-dataset[,a] ,data=dataset)
  summary(m1)
  }

我调用函数如下:

CoxStep(数据,Alive1,FU_3M)

其中 FU_3M 是时间列 Alive1 是事件列,数据是我的数据集,其中包含以下变量和其他变量。

函数看不到这个 Alive1 和 FU_3M。

你可以帮帮我吗?有什么提议吗?

4

1 回答 1

0

简单的解决方法是让您的函数将公式作为参数:

CoxStep <- function(dataset, form){  
 m1 = coxph(form, data=dataset)
  summary(m1)
  }

然后用CoxStep(dataset, Surv(a, b) ~ . - a - b).

如果您需要该公式,您可以构建一个辅助函数:

my_form = function(a, b) {
    as.formula(sprintf('Surv(%1$s, %2$s) ~ . - %1$s - %2$s', a, b)
}

my_form可以用字符串调用,例如,,my_form('a', 'b')所以你可以把它们和 . 放在一起CoxStep(dataset, my_form('a', 'b'))

于 2017-11-16T16:45:57.837 回答