我正在尝试让用户为查询输入一些关键字,在我的脚本中我使用了扫描或readline。我使用R-embeeded脚本编辑器(Windows)尝试了它,但是当我执行代码时,它使用我的下一行脚本作为标准输入。 这是我的(部分)脚本
keywords <- scan(what=character(), nlines=1)
keywords <- paste(keywords, collapse=",")
keywords
这是从编辑器执行时的输出
> keywords <- scan(what=character(), nlines=1)
1: keywords <- paste(keywords, collapse=",")
Read 4 items
> keywords
[1] "keywords" "<-" "paste(keywords," "collapse=\",\")"
同时当我使用source()命令时,我的用户输入受到尊重。
那么有什么方法可以在从R软件执行代码时输入一些东西吗?
答案 0 :(得分:2)
这就是我使用readLInes
的方式:
FUN <- function(x) {
if (missing(x)) {
message("Uhh you forgot to eneter x...\nPlease enter it now.")
x <- readLines(n = 1)
}
x
}
FUN()
或者也许是这些方面的东西:
FUN2 <- function() {
message("How many fruits will you buy")
x <- readLines(n = 1)
message("Good you want to buy %s fruits.\n Enter them now.")
y <- readLines(n = x)
paste(y, collapse = ", ")
}
FUN2()
编辑:您在Rgui的方法......
FUN3 <- function(n=2) {
keywords <- scan(what=character(), nlines=n)
paste(keywords, collapse=",")
}
## > FUN3 <- function(n=2) {
## + keywords <- scan(what=character(), nlines=n)
## + paste(keywords, collapse=",")
## + }
## > FUN3()
## 1: apple
## 2: chicken
## Read 2 items
## [1] "apple,chicken"