filter
のdplyr
は列の位置で可能ですか?第1列目のdplyrフィルター
私はdplyr
iris[iris[,1]>6,]
せずにそれを行う方法を知っているしかし、私はdplyrでそれをどのように行うことができますか?
ありがとうございます!
filter
のdplyr
は列の位置で可能ですか?第1列目のdplyrフィルター
私はdplyr
iris[iris[,1]>6,]
せずにそれを行う方法を知っているしかし、私はdplyrでそれをどのように行うことができますか?
ありがとうございます!
魔法、ちょうど上記のとおり、項目列番号ではなく、変数(列)の名前を使用します。
以外にもiris %>%
filter(.[[1]] > 6)
おそらく 'filter(。[、1]> 6)でなければなりません。ここでは重要ではありませんが、フィルタの前に他のパイプ関数を使って最初のデータフレームを変更した場合、 'filter(iris [、1]> 6)'は元のデータフレームのパイプの外側に届きます。パイプされたデータフレームを使用するのではなく、 – eipi10
これらの2つが比較できない例として、 'iris%>%mutate(Sepal.Length = 0)%>%filter(iris [、1]> 6)' vs 'iris%>%mutate(Sepal.Length = 0)%>%filter(。[、1]> 6) ' – thelatemail
として優れているコメントeipi10 @として
library("magrittr")
library("dplyr")
iris %>%
filter(iris[,1] > 6)
@ thelatemailの提案では、filter_at
を使用して、vars
パラメータに列番号を渡すことができます。
all(iris %>% filter_at(1, all_vars(. > 6)) == iris[iris[,1] > 6, ])
# [1] TRUE
私は本当におろか、それは良い方法である場合に最良の方法を知りませんが、 'アイリス%>%フィルタ((選択してください。、1)> 6)'多分? – thelatemail
または 'iris%>%filter(。[[1]]> 6)' – eipi10