我有 2 个文件: 1. 子文件:get_input_template.R :此文件包含从用户获取输入的功能。
####################################
fun <- function(){
x <- readline("What is the value of x?")
x <- as.numeric(unlist(strsplit(x, ",")))
return(x)
}
####################################
- main.R:该文件是主函数,它将: 步骤 1:调用第一个文件以询问用户输入值并将该值分配给变量 n。第2步:继续在我的主程序中做一些事情。让我们做一个简单的任务,例如,打印出 n 的值。
这是我的程序:
####################################
source("get_input_template.R")
n<-fun()
sprintf("input value n = %s",n)
####################################
问题是,当我完全运行我的主程序时,它会显示一个错误,因为它不会停在第二行 n<-fun() 供用户输入值。因此,我得到一个错误:
---------------------------
Warning message:
In fun() : NAs introduced by coercion
---------------------------
我怎么能说 R 在第二行停止运行,并允许用户输入数据,然后将该输入打印到控制台中。我知道我可以通过将 sprintf("input value n = %s",n) 移动到子文件中来修复它,但这不是我想要的方式。如果我只想将那行代码保留在主文件中,我该怎么做?
提前致谢。