-2

Is there any way to do a max if function in R? I am trying to clean up data by summarizing it and only pulling out information where it occurs the most instance. In Excel I would use MAX(IF for this. Is there any way to do the same thing in R?

Boom
  • 1
  • 1
  • 1
  • 3
    Could you give a minimal example for that with the desired output?! – Cleb Jul 29 '15 at 16:10
  • 3
    Please provide a [reproducible example](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) with sample input and desired output. – MrFlick Jul 29 '15 at 16:13
  • I would try the following scheme: `ifelse(test=what_you_want_to_check, yes=max(some_data),no=something_else_happening)` – MaZe Jul 29 '15 at 16:24

1 Answers1

3

As I understand it, MAX(IF(C2:C8=C11, D2:D8)) in Excel would basically take the maximum value of the D cells for the condition C2:C8=C11 holds true. This is a one-liner in R:

# Some data
x <- c(1, 1, 2, 2, 3, 3)
y <- c(10, 20, 30, 40, 50, 60)

# Maximum y value where x equals 2
max(y[x == 2])
# [1] 40

This code returns the maximum y value assuming the corresponding x value is equal to 2.

josliber
  • 43,891
  • 12
  • 98
  • 133