Hi,

 

I apologize for the previous posting, where the message was not formatted
properly.  Here is a better version:

 

I have written the following function to check whether a vector has elements
satisfying monotonicity.

 

is.monotone <- function(vec, increase=T){

ans <- TRUE

vec.nomis <- vec[!is.na(vec)]

if (increase & any(diff(vec.nomis,1) < 0, na.rm=T)) ans <- FALSE

if (!increase & any(diff(vec.nomis,1) > 0, na.rm=T)) ans <- FALSE

ans

}

 

This works correctly, but I get this error message as below.

 

> x <- 2:10

> is.monotone(x)

[1] TRUE

Warning messages:

1: the condition has length > 1 and only the first element will be used in:
if (increase & any(diff(vec.nomis, 1) < 0, na.rm = T)) ans <- FALSE

2: the condition has length > 1 and only the first element will be used in:
if (!increase & any(diff(vec.nomis, 1) > 0, na.rm = T)) ans <- FALSE 

> 

 

I am unable to see why the condition should have a length greater than 1,
since "any" should give me a single logical value.  

 

Can any one tell me what is going on here?  (I am using version 2.1.1 on
Windows).

 

Thanks very much,

Ravi.

 

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

Ravi Varadhan, Ph.D.

Assistant Professor,  The Center on Aging and Health

Division of Geriatric Medicine and Gerontology

Johns Hopkins University

Ph: (410) 502-2619

Fax: (410) 614-9625

Email:   <mailto:rvaradhan@jhmi.edu> rvaradhan@jhmi.edu

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

 


	[[alternative HTML version deleted]]


