[R] Puzzled at ifelse()

Ajay Narottam Shah ajayshah at mayin.org
Tue Jul 12 12:07:07 CEST 2005


I have a situation where this is fine:

  > if (length(x)>15) {
      clever <- rr.ATM(x, maxtrim=7)
    } else {
      clever <- rr.ATM(x)
    }
  > clever
  $ATM
  [1] 1848.929

  $sigma
  [1] 1.613415

  $trim
  [1] 0

  $lo
  [1] 1845.714

  $hi
  [1] 1852.143

But this variant, using ifelse(), breaks:

  > clever <- ifelse(length(x)>15, rr.ATM(x, maxtrim=7), rr.ATM(x))
  > clever
  [[1]]
  [1] 1848.929

What am I doing wrong?

-- 
Ajay Shah                                                   Consultant
ajayshah at mayin.org                      Department of Economic Affairs
http://www.mayin.org/ajayshah           Ministry of Finance, New Delhi




More information about the R-help mailing list