は次のとおりです、condition
であなたのdataframe
をサブセット化サブセットでother variable
の合計を計算し、variable_name
と呼ばれるグローバル変数に合計を割り当て、内容を印刷しますdataframe
です。
Vincent Bonhommeはすでに "tee"演算子の機能について説明しました。つまり、式はdataframe
の値を返します。私は、ここでの混乱は式の.
によって引き起こされると思います。help("%>%")
から:RHSの別の場所でLHSを配置
多くの場合、あなたはRHSにLHSをお勧めします
を呼び出すには、 最初よりも、別の位置に呼び出します。この目的のために、ドット(。)をプレースホルダとして使用できます。例: の場合、y%>%f(x、。)はf(x、y)に等しく、z%>%f(x、y、arg = z)。
ここではあなたのポストでの表現の例です:
library(data.table)
library(magrittr)
dt <- data.table(x = 1:5, y = 5:1)
# original expression
dt %T>% {z1 <<- .[x > 2, sum(y)]}
# x y
# 1: 1 5
# 2: 2 4
# 3: 3 3
# 4: 4 2
# 5: 5 1
z1
# [1] 6
# equivalently
z2 <- dt[x > 2, sum(y)]; dt
# x y
# 1: 1 5
# 2: 2 4
# 3: 3 3
# 4: 4 2
# 5: 5 1
# more verbosely
z3 <- sum(subset(dt, x > 2)$y); dt
# x y
# 1: 1 5
# 2: 2 4
# 3: 3 3
# 4: 4 2
# 5: 5 1
all.equal(z1, z2, z3)
# [1] TRUE
https://cran.r-project.org/web/packages/magrittr/vignettes/magrittr.html – zacdav
あなたはどのように言及する必要がありますこのオペレータが定義されているパッケージ。実際、再現可能な例を共有する必要があります。 – Roland
こんにちは@jim、ヘルプファイル(help( "%T>%") 'とタイプしてください)を読んでみてください。あなたがまだ理解していないことを言う。 'condition'と' another variable'などは何を表していますか?それは途中で 'magrittr'パッケージに入っています。 – Bazz