# Count non-zero values in excluding NA Values

9 messages
Open this post in threaded view
|

## Count non-zero values in excluding NA Values

 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 Virus-free. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Count non-zero values in excluding NA Values

 Hello, Your attachment didn't came through, R-Help strips off most types of files, including CSV. Anyway, the following will do what I understand of your question. Tested with a fake dataset. set.seed(3026)    # make the results reproducible data <- matrix(1:100, ncol = 10) data[sample(100, 15)] <- 0 data[sample(100, 10)] <- NA data <- as.data.frame(data) zero <- sapply(data, function(x) sum(x == 0, na.rm = TRUE)) na <- sapply(data, function(x) sum(is.na(x))) totals <- nrow(data) - zero - na  # totals non zero per column grand_total <- sum(totals)        # total non zero totals # V1  V2  V3  V4  V5  V6  V7  V8  V9 V10 #  6   8   8   8   8   7   7   8   6  10 grand_total #[1] 76 # another way prod(dim(data)) - sum(zero + na) #[1] 76 Hope this helps, Rui Barradas Em 29-10-2017 10:25, Engin YILMAZ escreveu: > 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 > > > Virus-free. > www.avast.com > > <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > ______________________________________________ > [hidden email] 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. > ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Count non-zero values in excluding NA Values

Open this post in threaded view
|

## Re: Count non-zero values in excluding NA Values

 In reply to this post by Temel İspanyolca Since i could not see your data, the easiest thing comes to mind is court values excluding NAs, is something like this sum(!is.na(x)) Best of luck--EK On Sun, Oct 29, 2017 at 6:25 AM, Engin YILMAZ <[hidden email]> 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 > > source=link&utm_campaign=sig-email&utm_content=webmail> > Virus-free. > www.avast.com > source=link&utm_campaign=sig-email&utm_content=webmail> > <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > ______________________________________________ > [hidden email] 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. >         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Count non-zero values in excluding NA Values

Open this post in threaded view
|

## Re: Count non-zero values in excluding NA Values

Open this post in threaded view
|