我在R编程方面相当新,并希望获取键盘输入以执行更多编程代码。由于此处给出的代码已执行,所有内容都可以正常运行,但是当输入退出时,程序将被终止,并且它不会打印y
和z
。
请问您如何在循环中使用readline
命令并在该循环后执行其他程序行?
n=1
a=1
y=c()
z=c()
x=""
while(x!="exit"){
x<-readline("Enter your name ")
library(stringr)
if(x!="exit" & str_detect(x,"N")){
y[n]=x
n=n+1
}else{
z[a]=x
a=a+1
}
}
print(y)
print(z)
答案 0 :(得分:0)
此代码有效。我将其复制到foo.R
文件中,如下所示:
# in "foo.R"
n = 1
a = 1
y = character()
z = character()
x = ""
library(stringr)
while (x!="exit") {
x <- readline("Enter your name\n")
if (x!="exit" & str_detect(x,"N")) {
y[n] = x
n = n+1
} else {
z[a] = x
a = a+1
}
}
print(y)
print(z)
然后,从我的R控制台(使用正确的工作目录),我可以运行:
source("foo.R")
# Enter your name
# Bob
# Enter your name
# Nate
# Enter your name
# exit
# [1] "Nate"
# [1] "Bob" "exit"
它似乎工作正常。