2015-06-16 4 views
1

Я пытаюсь создать функцию, использующую данные, используемые в объекте survfit.R Запустить текст в кавычках

Пример:

library(survival) 
fit <- survfit(Surv(time, status) ~ factor(sex), data = subset(lung, ph.ecog <=1)) 

fit$call[3] # This gives me the data part of the survfit function 
> subset(lung, ph.ecog <= 1)() 

Я хотел бы создать набор данных, используя пригодный $ вызова [3]:

tempdata <- subset(lung, ph.ecog <= 1) 

где «подмножество (легких, ph.ecog < = 1) 'часть извлекается из объекта survif.

tempdata <- do.call(as.character(fit$call)[3]) # Doesn't work 

ответ

1

Вы должны использовать eval и удалить скобки:

eval(parse(text = gsub('()','',fit$call[3]))) 
+0

Я думаю, что вы имеете в виду 'Eval (FIT $ вызов [[3]])' – MrFlick

Смежные вопросы