How to divide between groups of rows using dplyr?
<p>I have this dataframe:</p>

<pre><code>x &lt;- data.frame(
    name = rep(letters[1:4], each = 2),
    condition = rep(c("A", "B"), times = 4),
    value = c(2,10,4,20,8,40,20,100)
) 
#   name condition value
# 1    a         A     2
# 2    a         B    10
# 3    b         A     4
# 4    b         B    20
# 5    c         A     8
# 6    c         B    40
# 7    d         A    20
# 8    d         B   100
</code></pre>

<p>I want to group by name and divide the value of rows with <code>condition == "B"</code> with those with <code>condition == "A"</code>, to get this:</p>

<pre><code>data.frame(
    name = letters[1:4],
    value = c(5,5,5,5)
)
#   name value
# 1    a     5
# 2    b     5
# 3    c     5
# 4    d     5
</code></pre>

<p>I know something like this can get me pretty close: </p>

<pre><code>x$value[which(x$condition == "B")]/x$value[which(x$condition == "A")]
</code></pre>

<p>but I was wondering if there was an easy way to do this with dplyr (My dataframe is a toy example and I got to it by chaining multiple <code>group_by</code> and <code>summarise</code> calls).</p>