Hi,
I am new to R. I was trying to get a very simple program to run. Take one 
number from the command line. If the number < 0 return -1. If number > 0 return 
1 and if the number == 0 return 0. The code is in a file called test1.R


The code:

#useage: R --no-save --args 5 < test1.R
args = (commandArgs(TRUE))
x = as.numeric(args[1])
print(x)

res <- conditional1(x)
cat("result= ",res,"\n")

conditional1 <- function(x){
        result <- 0
        if (x > 0) {
                result <- 1
        } else if (x < 0) {
                result <- -1
        }
        return(result)
}


The output:
>R --no-save --slave --args 1 < test1.R
[1] 1
result=  1
>R --no-save --slave --args -1 < test1.R
[1] -1
result=  -1
>] R --no-save --slave --args 0 < test1.R
[1] 0
result=  -1


The problem:
For arguments 1 and -1 it works as intended. For 0 (zero) it does not. If the 0 
value is passed into the function named "conditional1"  I would expect both 
if-statements to evaluate to false and 0 being return. From what I can tell (0 
< 0) evaluates to true since -1 is returned. Hmmmmm...
What is going on? What am I doing wrong? Why is this happening? I am baffled!
Any help would be appreciated.
Thanks
Mike




        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to