On 11-03-10 5:54 AM, Ivan Calandra wrote:
Try with double "== "instead:
ifelse(val3 == "Monthly", val<- val1, val<- val2)

That might work, but it is not how you should do it. (It should work if val3 has a single entry, but will do strange things if val3 is a vector:

> val3 <- c("Monthly", "Daily")
> ifelse(val3 == "Monthly", val<- 1, val<- 2)
[1] 1 2
> val
[1] 2


The ifelse() function does a vectorized test, and picks results from the two vector alternatives. Vincy wants a simple logical if, which can be computed in a few different ways:

 val <- if(val3 == "Monthly") val1 else val2

or

 if (val3 == "Monthly") val <- val1
 else val <- val2

For a simple calculation like this I'd probably use the former; if the calculation got more complex I'd prefer the latter.

Duncan Murdoch


Single "=" is for setting arguments within a function call. If you want
to test equality, then double "==" is required.
See ?"=="

HTH,
Ivan

Le 3/10/2011 11:45, Vincy Pyne a écrit :
Dear R helpers

Suppose

val1 = c(10, 20, 35, 80, 12)
val2 = c(3, 8, 11, 7)

I want to select either val1 or val2 depending on value of third quantity val3.

val3 assumes either of the values "Monthly" or "Yearly".

If val3 = "Monthly", then val = val1 and if val3 = "Yearly", then val = val2.

I tried the ifelse statement as


ifelse(val3 = "Monthly", val = val1, val2)

I get following error

ifelse(val3 = "Monthly", val = val1, val2)
Error in ifelse(val3 = "Monthly", val = val1, val2) :
    unused argument(s) (val3 = "Monthly", val = val1)

val
Error: object 'val' not found

Kindly guide.

Regards

Vincy



        [[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.


______________________________________________
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