R中的readline命令未执行进一步的编程行

时间:2016-02-01 06:00:30

标签: r readline

我在R编程方面相当新,并希望获取键盘输入以执行更多编程代码。由于此处给出的代码已执行,所有内容都可以正常运行,但是当输入退出时,程序将被终止,并且它不会打印yz

请问您如何在循环中使用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)

1 个答案:

答案 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"

它似乎工作正常。