[R] Count non-zero values in excluding NA Values

Daniel Nordlund djnordlund at gmail.com
Sun Oct 29 23:04:26 CET 2017


On 10/29/2017 3:25 AM, Engin YILMAZ wrote:
> Dear R Staff
> 
> You can see my data.csv file in the annex.
> 
> I try to count non-zero values in dataset but I need to exclude NA in this
> calculation
> 
> My code is very long (following),
> How can I write this code more efficiently and shortly?
> 
> ## [NA_Count] - Find NA values
> 
> data.na =sapply(data[,3:ncol(data)], function(c) sum(length(which(is.na
> (c)))))
> 
> 
> ## [Zero] - Find zero values
> 
> data.z=apply(data[,3:ncol(data)], 2, function(c) sum(c==0))
> 
> 
> ## [Non-Zero] - Find non-zero values
> 
> data.nz=nrow(data[,3:ncol(data)])- (data.na+data.z)
> 
> 
> Sincerely
> Engin YILMAZ
> 
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
> Virus-free.
> www.avast.com
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
> 

this looks like a good place for apply()

    apply(data,2,function(x) sum(x != 0, na.rm=TRUE))


Hope this is helpful,

Dan

-- 
Daniel Nordlund
Port Townsend, WA  USA



More information about the R-help mailing list