私はこのデータフレームを持っている:dplyrを使用して行のグループを分割する方法は?
x <- 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
私は名前でグループ化すると、この取得するには、condition == "A"
持つものでcondition == "B"
持つ行の値を分割:私はこの缶のようなものを知っている
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
を非常に近い私を得る:
x$value[which(x$condition == "B")]/x$value[which(x$condition == "A")]
が、dplyrでこれを行う簡単な方法があった場合、私は思っていた(私のDAT aframeはおもちゃの例で、私は複数のgroup_by
とsummarise
の呼び出しを連鎖させることでそれを得ました。