2017-06-13 16 views
4

私は何か非常に簡単な操作をしようとしていますが、正しい方法を特定できません。私は単に名前付きの列をmutate_atから除外したいだけです。ポジションを指定するとうまく動作しますが、ポジションをハードコーディングする必要はありません。例えばdplyrのmutate_atの名前でカラムを除外する

、私はこれと同じ出力をしたい:

mtcars %>% mutate_at(-c(1, 2), max) 

しかし、mpgcyl列名を指定することもできます。

mtcars %>% mutate_at(-c('mpg', 'cyl'), max) 

mutate_at内の名前と除外と連携する方法はあります:

は、私には、多くのことを試してみましたか?

答えて

12

あなたはselect()と同じように動作し、あなたが-を使用して列を除外することを可能にする列を指定するvarsを使用することができます。

mtcars %>% mutate_at(vars(-mpg, -cyl), max) 
+1

興味深い。これはうまくいき、自分のデータで動作する前にグループ化を解除する必要があります。ありがとう! – Gopala

0

は一つのオプションはone_of

mtcars %>% 
    mutate_at(vars(-one_of("mpg", "cyl")), max) 
内の文字列を渡すことです
関連する問題