this questionはdata.table
で、私はちょうどdplyr
と同等ですが、失敗には至りませんでした。R dplyrの名前を取得する行の数は
数値の列を持つ単純なデータフレームがあります。 dplyrを使用して最小値がの列の名前を取得したいとします。
私はこの問題を解決するための他の方法を知ってることに注意してください:
DF %>% select(2:4) %>% rowwise() %>% mutate(y = function(x) names(x)[which.min(x)])
DF %>% select(2:4) %>% rowwise() %>% mutate(y = apply(x1:x3, 1, which.min(x1:x3))
:現時点では私の唯一の関心は、私はいくつかのバリエーションを試してみました id <- c(1,2,3,4,5,6,7,8,9,10)
x1 <- c(2,4,5,3,6,4,3,6,7,7)
x2 <- c(0,1,2,6,7,6,0,8,2,2)
x3 <- c(5,3,4,5,8,3,4,2,5,6)
DF <- data.frame(id, x1,x2,x3)
dplyrアプローチであります
しかし、これを行う方法が見つかりませんでしたdplyr
- 道。私は何かヒントに感謝します!
予想される出力:
DF
## id x1 x2 x3 y
## 1: 1 2 0 5 x2
## 2: 2 4 1 3 x2
## 3: 3 5 2 4 x2
## 4: 4 3 6 5 x1
## 5: 5 6 7 8 x1
## 6: 6 4 6 3 x3
## 7: 7 3 0 4 x2
## 8: 8 6 8 2 x3
## 9: 9 7 2 5 x2
## 10: 10 7 2 6 x2
'dplyr 'のようなものかどうかはわかりませんが、' DF%>%rowwise%>%mutate(y = names(。)[2:4] [which.min(c(x1 、x2、x3)))) 'が働いているようです。 – aosmith