Skip to content

logical 'or' on list of vectors

6 messages · Tim Bergsma, Chuck Cleland, jim holtman +2 more

#
Suppose I have a list of logicals, such as returned by lapply:

Theoph$Dose[1] <- NA
Theoph$Time[2] <- NA
Theoph$conc[3] <- NA
lapply(Theoph,is.na)

Is there a direct way to execute logical "or" across all vectors?  The 
following gives the desired result, but seems unnecessarily complex.

as.logical(apply(do.call("rbind",lapply(Theoph,is.na)),2,"sum"))

Regards,

Tim
#
Tim Bergsma wrote:
Is this what you want?

apply(is.na(Theoph), 1, any)

  
    
#
Tim Bergsma said the following on 6/8/2007 5:57 AM:
How about:

apply(sapply(Theoph, is.na), 1, any)

HTH,

--sundar
#
try the following:

as.logical(rowSums(is.na(Theoph)))
## or
!complete.cases(Theoph)


I hope it helps.

Best,
Dimitris

----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm


----- Original Message ----- 
From: "Tim Bergsma" <timb at metrumrg.com>
To: <r-help at stat.math.ethz.ch>
Sent: Friday, June 08, 2007 2:57 PM
Subject: [R] logical 'or' on list of vectors
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
#
Thanks all for the many excellent suggestions!

!complete.cases(Theoph) is probably the most succinct form for the 
current problem, while the examples with 'any' seem readily adaptable to 
similar situations.

Kind regards,

Tim.
Dimitris Rizopoulos wrote: