我在引用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是一列事件 和data是我的数据集,其中包含下面的变量和其他变量。
功能看不到此Alive1和FU_3M。
你可以帮帮我吗?任何命题?答案 0 :(得分: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'))
放在一起。