[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