在R中,如何从用户提示中读取多个整数?

时间:2018-02-02 17:44:07

标签: r input while-loop concatenation readline

我需要创建一个具有来自用户的多个输入(整数)的向量。

目的是创建一个列表并验证它是否具有模式以及其中位数。

我正在使用此代码:

ReadVector <- function()
{ 
  x <- 0
  while(x<16) {
  n <- readline(prompt="Input one integer: ")
  return(as.integer(n))
  VectorUser <- c(n)
  x <- x+1
  } 
  print(VectorUser)
  }

ReadVector()

我只能得到一个整数,我不知道我的错误是在while循环中还是(和)在它之后的concatenate命令中。你能救我吗?

2 个答案:

答案 0 :(得分:2)

这对你有用吗?

ReadVector <- function()
{ 
  x <- 0
  myvector = vector()
  while(x<16) {
    n <- readline(prompt="Input one integer: ")
    myvector = c(myvector,n)
    x <- x+1
  } 
  return (as.integer(myvector))
}

你需要在一个向量中保存你的值,并保留它(不在循环中返回),直到你完成它。

希望有所帮助

答案 1 :(得分:0)

ff=function(){
  d=c()
  while (TRUE){
    int = readline('ENTER to quit > ')
    if(nchar(int)==0) {
      if(length(d)>0)cat("The numbers you entered are:",d)
      else(cat("You did not enter any number!!"));break}
    else{
      value=suppressWarnings(as.integer(int))
      if(!is.na(value)){cat(value);d=c(d,value)} else cat(ran[sample(6,1)])
    }}
ff()