あなたが与えた例では、実際には標準評価(SE)バージョンは必要ありません。あなただけ~
なしnest
を使用することができます。
library(tidyr)
mtcars %>% nest(-cyl)
#> # A tibble: 3 x 2
#> cyl data
#> <dbl> <list>
#> 1 6 <tibble [7 x 10]>
#> 2 4 <tibble [11 x 10]>
#> 3 8 <tibble [14 x 10]>
あなたの本当の場合はもっと複雑であり、SEが必要ない場合は、しかし、tidyverseはrlangベースのNSEシステムへの切り替えの過程であることに注意してください、*_
バージョンではこのような何かのために廃止されますので:
mtcars %>% nest(-!!rlang::quo(cyl))
#> # A tibble: 3 x 2
#> cyl data
#> <dbl> <list>
#> 1 6 <tibble [7 x 10]>
#> 2 4 <tibble [11 x 10]>
#> 3 8 <tibble [14 x 10]>
または文字列と、
mtcars %>% nest(-!!rlang::sym('cyl'))
#> # A tibble: 3 x 2
#> cyl data
#> <dbl> <list>
#> 1 6 <tibble [7 x 10]>
#> 2 4 <tibble [11 x 10]>
#> 3 8 <tibble [14 x 10]>
GitHubからtidyrをインストールすると、どちらも既に動作します。あなたが本当にとにかく動作する古いスタイルを取得したい場合、あなたはそれがそうのように、等価的に動作させることができます。
mtcars %>% nest_('data', names(.)[names(.) != 'cyl'])
#> # A tibble: 3 x 2
#> cyl data
#> <dbl> <list>
#> 1 6 <tibble [7 x 10]>
#> 2 4 <tibble [11 x 10]>
#> 3 8 <tibble [14 x 10]>
あなたが引用符で囲まれていない変数名を使用している場合は、最初の場所でSEのバージョンを使用する理由はありません; '〜'を省略してください。さらに、tidyverseは、[rlang](https://github.com/tidyverse/rlang/)ベースのSEシステムに切り替える途中にあります。このシステムでは、mtcars%>%nest( - !!文字列 'mtcars%>%nest( - !! rlang :: sym( 'cyl'))'を使って、 – alistaire
@alistaire私はこれを広いプロジェクトに使用していますが、対話セッションでは使用していません。この場合、私が理解している限り、SEを使う方が良いはずです。私が間違っている? – amarchin
Shinyサイトのユーザーがグループ化変数を選択できるように、コードの作成時に制御しない入力がある場合は、SEが必要です。それでも、それを必要とする機能だけが通常SEに変更されます。変数が固定されていれば、意味はありません。 – alistaire