[R] Readline - wait for user input

Antje niederlein-rstat at yahoo.de
Mon Jun 18 11:25:04 CEST 2007


Hello,

I also have problems to get to run the following lines. If I run the 
block instead of every single line, it simply does not wait for the input.
Can anybody help me?

------------------------
pos_name <- readline("Please type: ")

r <- substr(pos_name, 1,1)
c <- substr(pos_name, 2,nchar(pos_name))

------------------------

Thank you!
Antje


Peter Dalgaard schrieb:
> Forest Floor wrote:
>> Hi,
>>
>> I've seen various posts on this question, but still can't get the code 
>> right. 
>>
>> If I run the following code one line at a time, it works fine.  If I run 
>> it together as a block, however, it doesn't wait for the input and gives 


>> an error.
>>
>> There must be a way to have are pause/wait for an answer, but I can't 
>> seem to find it.  Thanks!  J
>>
>> Code:
>>
>> choosefunction <- function(){readline("1. linear, 2. linear with lag, 3. 
>> nonlinear ")}
>> ans <- as.integer(choosefunction())
>> if (ans==1){K2=x1}
>> if (ans==2){K2=x2 }
>> if (ans==3){K2=x3 }
>> ans
>>
>> Error text:
>>  > ans <- as.integer(choosefunction())
>> 1. linear, 2. linear with lag, 3. nonlinear if (ans==1) {K2=x1}]}
>> Warning message:
>> NAs introduced by coercion
>>  > if (ans==2){K2=x2) }
>> Error in if (ans == 2) { : missing value where TRUE/FALSE needed
>>  > if (ans==3){K2=x3}
>> Error in if (ans == 3) { : missing value where TRUE/FALSE needed
>>  > ans
>> [1] NA
>>   
> As you may have realized already, the issue is that choosefunction()
> takes the next command as its input. Since "if (ans==1){K2=x1}" isn't an
> integer "ans" becomes NA, and it just goes downhill from there.
> 
> An extra set of braces may help
> 
>> choosefunction <- function(){readline("1. linear, 2. linear with lag, 3.
> + nonlinear ")}
>> {ans <- as.integer(choosefunction())
> + if (ans==1){K2=x1}
> + if (ans==2){K2=x2 }
> + if (ans==3){K2=x3 }
> + ans}
> 1. linear, 2. linear with lag, 3.
> nonlinear 3
> Error: object "x3" not found
> 
> It still doesn't quite work, but the reason(s) for that should be plain
> to see.
>



More information about the R-help mailing list