[R] Count non-zero values in excluding NA Values
Rui Barradas
ruipbarradas at sapo.pt
Sun Oct 29 12:38:31 CET 2017
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
>
> <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.
>
More information about the R-help
mailing list