[R] Finding NAs in DF

Patrick Burns pburns at pburns.seanet.com
Mon Jan 17 12:06:30 CET 2011


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
>>
>> ______________________________________________
>> R-help at 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.
>>
>

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



More information about the R-help mailing list