麻烦使用带有幸存函数的readline()用户输入

时间:2014-07-16 07:44:57

标签: r

我试着查看过去的答案,但无法找到确切的答案。我对R来说比较新,所以请耐心等待。

我做了很多需要用户输入的功能。我已经收集到输入用户文本的最佳方式是readlines()

现在,我最关心的功能是幸存者。

可重复示例1

library (survival)
Survival <- sample (0:100, 100, rep=TRUE)
STATUS <- sample (0:1, 100, rep=TRUE)
variable <- sample (0:1, 100, rep=TRUE)
data <- data.frame(Survival, STATUS, variable )

Graphdata <- survfit(Surv(Survival, STATUS) ~ variable, data=data)
plot <- plot(Graphdata)

我想做什么

在幸存函数中,我想用readline()替换变量,并使&#34;变量&#34;用户输入。

例如:

Graphdata <- survfit(Surv(Survival, STATUS) ~ readlines(), data=data) 

然而,似乎放置占位符不会起作用,因为该函数直接从&#34;数据&#34;并完全忽略占位符。

我怀疑有一个非常基本的工作。

干杯

1 个答案:

答案 0 :(得分:1)

这应该有用。

varA <- sample (0:1, 100, rep=TRUE)
varB <- sample (0:1, 100, rep=TRUE)
varC <- sample (0:1, 100, rep=TRUE)
data <- data.frame(Survival, STATUS, varA, varB, varC)

chosenvar <- readline("\nWhat independent variable do you want to fit?\n")

if(!(chosenvar %in% names(data))) stop(paste("Predictor must be one of", paste(names(data), collapse=", ")))
Graphdata <- survfit(formula(paste("Surv(Survival, STATUS) ~", chosenvar)), data=data) 
plot <- plot(Graphdata)