counting the number of values greater than 0 in R

2019-03-06 22:01发布

问题:

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.

回答1:

We can use

colSums(myDF[c("L2", "L3", "L4")] > 0)


回答2:

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))