I have found similar questions to mine, but none of them explains how to do that for each column of a dataframe.
I have a dataframe like this:
x1 = seq(12, 200, length=20)
x2 = seq(50, 120, length=20)
x3 = seq(40, 250, length=20)
x4 = seq(100,130, length=20)
x5 = seq(10, 300, length=20)
df = data.frame(V1=x1, V2=x2, V3=x3, V4=x4, V5=x5)
Now I want to get the number of values that are greater than 120 for each column.
I have tried:
nrow(df[,1] >120)
That didnt work, it says 0, but its not true, and also I want to do all columns automatically.
You can use tidyverse
to solve this.
library(tidyverse)
df%>%
gather(x, value, V1:V5)%>%
group_by(x)%>%
tally(value > 120)
# A tibble: 5 x 2
x n
<chr> <int>
1 V1 9
2 V2 0
3 V3 12
4 V4 7
5 V5 12
Hope this helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With