Simpler would be:

rowSums(is.na(df))


On 17/01/2011 10:13, Ivan Calandra wrote:
Hi,

I hope you made a mistake in c(NA,"TWO","BOTH","ONE") because if not, I
have no idea what you're looking for...

But would that do?
df <- data.frame(A=c(1,2,NA,NA),B=c(1,NA,NA,4))
apply(df,1, FUN=function(x) length(x[is.na(x)]))
[1] 0 1 2 1

There might be better ways to do it, but it works
HTH,
Ivan

Le 1/17/2011 11:01, Johannes Graumann a écrit :
Hi,

What is an efficient way to take this DF

data.frame(A=c(1,2,NA,NA),B=c(1,NA,NA,4))

and get
c(NA,"TWO","BOTH","ONE")

as the result, where NA corresponds to a row without "NA"s, TWO
indicates NA
in the second and ONE in the first column.

Thanks for any pointers.

Joh

______________________________________________
[email protected] 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.



--
Patrick Burns
[email protected]
twitter: @portfolioprobe
http://www.portfolioprobe.com/blog
http://www.burns-stat.com
(home of 'Some hints for the R beginner'
and 'The R Inferno')

______________________________________________
[email protected] 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