How to print rows greater than N in at least X number of columns?
Clash Royale CLAN TAG#URR8PPP
How to print rows greater than N in at least X number of columns?
For example, how can I print rows greater than 300 in at least 2 columns?
The following code print rows greater than 300
mtcars[apply(mtcars[, -1], MARGIN = 1, function(x) any(x > 300)), ]
1 Answer
1
A couple ways come to mind:
mtcars[apply(mtcars, 1, FUN = function(x) sum(x > 300) >= 2),]
or
mtcars[rowSums(mtcars > 300) >= 2,]
Which both return
# mpg cyl disp hp drat wt qsec vs am gear carb
# Maserati Bora 15 8 301 335 3.54 3.57 14.6 0 1 5 8
sum(x>300)>=2
x > 300
returns a logical vector with TRUE/FALSE for each value in the row. Summing up these logical values returns the number of values in each row that are > 300– bouncyball
Aug 7 at 19:38
x > 300
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.
I couldn't get the logic behind the
sum(x>300)>=2
though.– user1883491
Aug 7 at 19:37