Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

counting the number of values greater than 0 in R in multiple columns

I have a dataset myDF in R with a the variables L1,L2,L3,L4. How can I get the number of observations in L2, L3, and L4 that area greater than 0?

I would like to use the subset function, I'm just not sure how Thanks!

L1     L2     L3    L4
1       1     0     2
2       1     4     1 
3       1     3     1
2       2     1     1

I would like to be able to create a function that would be able to tally up the number of rows in columns L2, L3, and L4 greater than 0.

like image 672
Ashley Avatar asked Jan 18 '17 21:01

Ashley


2 Answers

We can use

colSums(myDF[c("L2", "L3", "L4")] > 0)
like image 129
Zheyuan Li Avatar answered Sep 25 '22 20:09

Zheyuan Li


I don't think colSums will give you the right answer since it doesn't counts the number of observations, but only sums the columns' values.

I think that this will give you what you want , I hope.

apply(myDF,2,function(x) sum(x > 0))
like image 43
Yuval Foox Avatar answered Sep 24 '22 20:09

Yuval Foox