2014-06-12 35 views
0

我在创建一个用户输入来创建一个用来从互联网上检索数据的股票列表。我使用readline来请求输入,但每次输入符号时都会覆盖前一个输入。有没有办法让用户输入并存储要在另一个包中使用的5个符号?以下是我正在使用的,任何帮助,非常感谢。Readline for user input overwrites previous entry in R

##Input stock symbols to create a data series to optimize 
Stk.List <- NULL 
n <- 0:5 
#for (i in seq (along=n)) { 
for (i in seq(5)) { 
    if (n[i] < 5) { 
    Stk.List <- c(readline(prompt = "Input Stock Symbol: ")) 
    } 
} 
+2

你的循环没有意义...... if(n [i] <5)'有什么意义? –

回答

1

我会用append。

##Input stock symbols to create a data series to optimize 
n <- 0:5 
Stk.List <- c() 
for (i in seq(5)) { 
    if (n[i] < 5) { 
    newstock <- readline(prompt = "Input Stock Symbol: ") 
    Stk.List <- append(Stk.List, newstock) 
    } 
} 
+0

谢谢你的帮助!这工作! – user3734010

1

您总是可以使用readLines()来输入所需数量的字符串,例如,

cat('Input 5 stock symbols:\n') 
readLines(n=5) 

否则,在您的循环使用,例如, Stk.List <- c(Stk.List, readline(prompt = "Input Stock Symbol: "))

+0

感谢您的回复,非常感谢!我没有想到,因为你可能会说> – user3734010