Data.table: magrittrとぎįĩąåˆ

äŊœæˆæ—Ĩ 2015åš´07月05æ—Ĩ  Âˇ  39ã‚ŗãƒĄãƒŗト  Âˇ  ã‚Ŋãƒŧã‚š: Rdatatable/data.table

ã“ã‚Œã¯ã€ãƒĄãƒŧãƒĒãƒŗグãƒĒã‚šãƒˆã§ãŽč­°čĢ–ãĢįļšãæŠŸčƒŊãƒĒクエ゚トです。

į§ã¯ã€ã“ぎようãĒã‚‚ãŽã‚’é€Ÿč¨˜åŊĸåŧã¨ã—ãĻ持つとäžŋ刊だと思いぞす。

DT[, a %<>% some.function] 

これぞでぎところ、å…Ĩ力するåŋ…čĻãŒã‚りぞす

DT[, a := a %>% some.function]

ぞたはmagrittrãĒし

DT[, a := some.function(a)]

これは、 aãŒé•ˇã„åå‰ãŽå¤‰æ•°ãĢįŊŽãæ›ãˆã‚‰ã‚ŒãŸå ´åˆãĢį‰šãĢ重čĻã§ã™ã€‚こぎ変数は、å…Ĩ力やčĒ­ãŋ取りが困é›Ŗです。 į‰šãĢå¤‰æ•°åãŒé•ˇã„å ´åˆã¯ã€ã“ã“ã§īŧˆãƒ—ログナマãƒŧぎīŧ‰åŠšįŽ‡ã‚’大嚅ãĢį¯€į´„できると思いぞす。

æœ€ã‚‚å‚č€ƒãĢãĒるã‚ŗãƒĄãƒŗト

čĻį´„ã™ã‚‹ã¨ã€å•éĄŒã¯æœ€įĩ‚įš„ãĢč§Ŗæąēできぞす。

åŋ…čĻãĒぎは、æŦĄãŽįŋģč¨ŗをå‡Ļį†ã™ã‚‹ã“とだけです。

DT[, a %<:>% fun] ## or "%:>%"

DT[, a := fun(a)]

そうですかīŧŸ

aãŒã‚ˇãƒŗボãƒĢではãĒく文字変数である場合、おぎようãĢ動äŊœã™ã‚‹åŋ…čĻãŒã‚りぞすかīŧŸ

DT[, "a" %<:>% fun]

DT[, "a" := fun(a)]   ## this?
DT[, "a" := fun("a")] ## or this?

ããŽé•ˇã•ãŒ1でãĒい場合はおうãĒりぞすかīŧŸ

DT[, c("a","b") %<:>% fun]

DT[, c("a","b") %<:>% fun(a, b)]
DT[, c("a","b") %<:>% fun("a","b")]
DT[, c("a","b") %<:>% lapply(list(a, b), fun)]
DT[, c("a","b") %<:>% lapply(c("a", "b"), fun)]

個äēēįš„ãĢč¨€ãˆã°ã€ã‹ãĒã‚Šč¤‡é›‘ãĢãĒã‚Šã€æ–°ã—ã„å•éĄŒã‚’č§ŖæąēできãĒいため、äŋŽæ­ŖされãĒいぎで閉じぞす。
į§ã¯ãã‚ŒãĢついãĻ合意しãĻいるぎで、æœŦåŊ“ãĢåŋ…čĻãĒ場合はいつでも再開することができぞす。

全ãĻぎã‚ŗãƒĄãƒŗト39äģļ

DT[, a := some.function(a)]

厌全ãĢæ­Ŗ常ãĢ動äŊœã—ぞす

しかし、į§čĻ‹

Complicated_data_table_variable_name[, a_very_very_very_very_long_variable_name := some.function(a_very_very_very_very_long_variable_name)]

厌全ãĢ元気ではありぞせん。 こぎäžŋ刊ãĒé–ĸ数をčŋŊ加するというã‚ĸイデã‚ĸがåĨŊきです。

しかし、おそらく%:>%は%<>%よりもå„ĒれãĻいるでしょうかīŧŸ

デãƒŧã‚ŋã‚ģットãĢそぎようãĒåĨ‡åĻ™ãĒ名前をåĢめるずきではありぞせん。 それは不äžŋであり、ãģとんおäŋåŽˆã§ããžã›ã‚“。 それäģĨ外ãĢ、列名を変数ãĢæ ŧį´ã—ãĻから、æŦĄãŽæ“äŊœã‚’čĄŒã†ã“ã¨ãŒã§ããžã™ã€‚

shortname <- "a_very_very_very_very_long_variable_name"
DT[, (shortname) := some.function(get(shortname))]

ããŽé€šã‚Šã§ã™ãŒã€ä¸­é–“ãŽé•ˇã•ãŽå¤‰æ•°ã‚’äŊŋį”¨ã—ãĻも、magrittr構文ぎ斚がčĒ­ãŋ取りと書きčžŧãŋãĢはるかãĢäžŋ刊です。 とãĢかく、これはį§ãŽå€‹äēēįš„ãĒ意čĻ‹ã§ã™ã€‚

変数ãĢäŊ•ãŒäŋå­˜ã•ã‚ŒãĻいるかを明įĸēãĢするためãĢã€č¤‡é›‘ãĒデãƒŧã‚ŋã‚ģットãĢé•ˇã„å¤‰æ•°åã‚’åĢめる斚がよい場合がありぞす。 それは個äēēįš„ãĒåĨŊãŋãŽå•éĄŒã§ã™ã€‚ ã‚ŗãƒŗビニエãƒŗã‚šé–ĸ数は、厚įžŠã”とãĢã‚ŋã‚šã‚¯ã‚’åŽŸčĄŒã™ã‚‹åŋ…čĻã¯ã‚りぞせん。ã‚ŗãƒŧデã‚ŖãƒŗグがéĢ˜é€ŸãĢãĒり、多くぎ場合、į†č§ŖしやすくãĒりぞす。 こぎ抟čƒŊが多くぎãƒĻãƒŧã‚ļãƒŧãĢåŊšįĢ‹ã¤ã“とは間違いありぞせん。 しかし、data.table開į™ēč€…ãŒīŧˆå¤šã™ãŽã‚‹īŧ‰äžŋ刊ãĒé–ĸ数を原čŖ…/įļ­æŒã—たくãĒい場合は、おこかãĢįˇšã‚’åŧ•ãåŋ…čĻãŒã‚ることもį†č§ŖしãĻいぞす;īŧ‰

こぎ゚ãƒŦッドをčŗŧčĒ­ã—ãĻいる斚は、最垌ぎã‚ŗãƒĄãƒŗトīŧˆįžåœ¨ã¯å‰Šé™¤ã•ã‚ŒãĻいぞすīŧ‰ã‚’į„ĄčĻ–しãĻください。 ばかげãĻいた。

@ and3kぎã‚ŗãƒĄãƒŗトから構į¯‰ã™ã‚‹ã¨ã€

DT[, a %:=>% some.function]

čĒ­ãŋやすくãĒると思いぞすīŧˆã¤ãžã‚Šã€ :=と%>%一įˇ’ãĢīŧ‰ã€‚ それは「嚸せãĒパイプ」ですかīŧŸ ここãĢ書かれãĻいるようãĢ、į§ã¯å¤‰æ•°åãŽįš°ã‚Ščŋ”しを減らすåŠĒåŠ›ãŽãƒ•ã‚Ąãƒŗですīŧš http īŧš

:=>æŧ”įŽ—子ぎ=>部分ãĢは、čŋŊ加ぎ意å‘ŗがありぞす。おそらく:=: īŧŸ

DT[, a %:=:% some.function]

ぞたは:=.は、 :=垌ãĢ.がfunãĢæ¸Ąã•ã‚Œã‚‹ã‚ˆã†ãĢį›´æŽĨマップされぞす

=>はおぎようãĒį‰šåˆĨãĒ意å‘ŗがありぞすかīŧŸ >は、RHSへぎåŧ•æ•°ã¨ã—ãĻLHSã‚’æ¸Ąã™ã“ã¨ã‚’äŧãˆã‚‹ãŽã§äžŋ刊です。 これが、ハドãƒĒãƒŧが元ぎ%.%から%>%変更されたį†į”ąã§ã™ã€‚

į§ãŽį†č§Ŗでは、 %>%ãĢį§ģ動する動抟ぎ大部分は、 %.%よりもå…Ĩ力がはるかãĢį°Ąå˜ã§ã‚るということ%.%をå…Ĩ力しようとすることが多いと思いぞすīŧ‰ %>% īŧ‰ã€‚

į§ã¯_より大きいかį­‰ã—い_æŧ”įŽ—子を意å‘ŗしぞす。
そしãĻ、 %:>%おうですかīŧŸ これは、 %:=>%ぞたは%:=:%よりもå…Ĩ力がį°Ąå˜ã§ã™ã€‚
and3kはすでãĢä¸Šč¨˜ãŽ1つãĢč¨€åŠã—ãĻいぞす。

į§ãŽæŠ•įĨ¨ã¯%:>%ぞたは:>です。

%は、Rが原際ãĢは中įŊŽæŧ”įŽ—å­ã‚’č¨ąå¯ã—ãĻいãĒいためãĢぎãŋ存在しぞすよねīŧŸ DT[]内ぎæŧ”įŽ—子をį¯€į´„することもできぞす。

ã‚ŋイピãƒŗグぎ側éĸã‚’č€ƒæ…Žã—ãĻいぞせんでした。つぞり、æŧ”įŽ—子ぎすずãĻぎ文字ぎShiftキãƒŧをæŠŧしたぞぞãĢする斚がį°Ąå˜ã ã¨æ€ã„ぞす。 į†ãĢかãĒãŖãĻいぞす。
:>は掋åŋĩãĒがらč§Ŗ析されぞせん。 [...]ぎ内部は、有劚ãĒR構文であるåŋ…čĻãŒã‚りぞすīŧˆã™ãšãĻぎåŧ•æ•°ã¯ã€é–ĸ数ãĢæœĒčŠ•äžĄã§æ¸Ąã•ã‚Œã‚‹å‰ãĢ常ãĢč§Ŗ析されぞすīŧ‰ã€‚したがãŖãĻ、 [...]内部で新しいæŧ”įŽ—子をäŊœæˆã™ã‚‹ã“とはできず、ナップするåŋ…čĻãŒã‚りぞす。 % 。
では、 %:>%はį§ãĢもäŧŧ合いぞす。 それが大きãĒå„Ē先äē‹é …であるとは限りぞせんが、原čŖ…するぎはé›ŖしくãĒãã€č­°čĢ–ã™ã‚‹ãŽã¯č‰¯ã„ã“ã¨ã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚

ありがとう、 %:>%はį§ãĢã¯č‰¯ã•ãã†ã§ã™ã€‚

ä¸æ€č­°ãĒことãĢ、 :=が[....]内でč§Ŗ析しãĻいるぎãĢ、ãĒぜ:>がč§Ŗ析されãĒいぎですかīŧŸ :=も有劚ãĒR構文ではありぞせんかīŧŸ

@ my-R-それが有劚ãĒ構文であるぎを劊けãĻください、これをčĻ‹ãĻくださいãĒぜīŧš=が中įŊŽæŧ”įŽ—子としãĻč¨ąå¯ã•ã‚ŒãĻいるぎですかīŧŸ

+ 1OP抟čƒŊぎčĻæą‚とmagrittr構文ぎäŊŋį”¨ãĢ同意しぞす。 これは、いくつかぎį†į”ąã‹ã‚‰ã€æœ€č‰¯ã‹ã¤æœ€ã‚‚明į™ŊãĒ選択です。

  • äēē々はすでãĢitmagrittrでDTを多į”¨ã—ãĻいぞす
  • magrittrぎ構文は、こぎ時į‚šã§ã¯ãŠã“ãĢでもありぞす...į‹Ŧč‡Ēぎrstudioホットキãƒŧを取垗する可čƒŊ性もありぞす...そしãĻäģ–ãŽæ§‹æ–‡ä¸ŠãŽé¸æŠžã¯æˇˇäšąã‚’æ‹›ãå¯čƒŊ性がありぞす。

äģģ意ぎmagrittrぎ選択と同じようãĢ選択する新しいæŧ”įŽ—子を導å…ĨすることãĢより、こぎFRã‚’č€ƒãˆã™ãŽãĒいようãĢåŧˇããŠå‹§ã‚ã—ぞす。

äģģ意ぎmagrittrぎ選択と同じようãĢ選択する新しいæŧ”įŽ—子を導å…ĨすることãĢより、こぎFRã‚’č€ƒãˆã™ãŽãĒいようãĢåŧˇããŠå‹§ã‚ã—ぞす。

@ctbrownææĄˆã¯ã€ %>%とはį•°ãĒるäŊ•ã‹ã‚’čĄŒã†ãƒ‘ã‚¤ãƒ—æŧ”įŽ—子、äģ–ぎいくつかぎパイプæŧ”įŽ—子もåĢã‚€ãƒ‘ãƒƒã‚ąãƒŧã‚¸ã‚’å¯žčąĄã¨ã—ãĻいぞす。 それらぎいずれともįĢļ合しãĒい限り、äŊ•ãŒå•éĄŒãĒぎでしょうか。

OPぎFRãƒĒクエ゚トは十分ãĢ明įĸēだãŖたと思いぞす。
%<>%をčģĸé€ãƒ‘ã‚¤ãƒ—ã¨å‰˛ã‚ŠåŊ“ãĻぎįĩ„ãŋ合わせとしãĻå…ˇäŊ“įš„ãĢäŊŋį”¨ã™ã‚‹
ã‚ĒペãƒŦãƒŧã‚ŋãƒŧ。 おそらくこれは、magrittrがすでãĢ%<>%を厚įžŠã—ãĻいるためです
ぞさãĢこぎį›Žįš„。 magrittrが支配įš„ãĒパイプぎようãĢčĻ‹ãˆã‚‹ãŽã§
原čŖ…と多くぎäēē々がīŧ…<>īŧ…ã‚’äŊŋį”¨ã—ãĻいるようです、į§ãŽå­Ļį”Ÿã¨
それらぎ間ぎ同僚。 åˆĨぎもぎをį´šäģ‹ã™ã‚‹ãŽã¯æ„å‘ŗがありぞせん
ぞãŖたく同じį›Žįš„ぎæŧ”įŽ—子。 を選択する斚がはるかãĢį†ãĢかãĒãŖãĻいぞす
ã‚ŗミãƒĨニテã‚ŖがさらされãĻいる、ぞたはすでãĢ持ãŖãĻいるもぎãĢä¸€č‡´ã™ã‚‹æ§‹æ–‡
æŽĄį”¨ã€‚ ãƒĻビキã‚ŋã‚šãĢついãĻぎį§ãŽãƒã‚¤ãƒŗトを参į…§ã—ãĻください。

åˆĨぎã‚ĒペãƒŦãƒŧã‚ŋãƒŧをį´šäģ‹ã™ã‚‹ã“とでäŊ•ãŒåž—られると思いぞすかīŧŸ
åˆĨぎã‚ŗãƒŗテキ゚トでぞãŖたく同じ抟čƒŊã‚’åŽŸčĄŒã—ãžã™ã‹īŧŸ čĻ‹ãˆãĒい
おんãĒ刊į›Šã§ã‚‚。 選択するæŧ”įŽ—子は、magrittrと同じくらいäģģ意です。
したがãŖãĻ、単ãĢã‚ˇã‚šãƒ†ãƒ å…¨äŊ“ã‚’æŖ意įš„ãĢすることは意å‘ŗがありぞせん。
さらãĢåˆĨぎæŖ意įš„ãĒもぎãĢするぎではãĒく、ここでmagrittrぎãƒĒãƒŧドãĢ垓う
構文上ぎæąē厚īŧŸ

11時41 AMãĢ木、2016åš´10月27æ—ĨãĢは、franknarf1 [email protected]
書きぞしたīŧš

新しいもぎを導å…ĨしãĻ、こぎFRã‚’č€ƒãˆã™ãŽãĒいようãĢåŧˇããŠå‹§ã‚ã—ぞす
選択がäģģ意ぎmagrittrぎ選択と同じであるæŧ”įŽ—子。

@ctbrownhttps īŧš//github.com/ctbrownææĄˆã¯ãƒ‘ã‚¤ãƒ—ã‚ĒペãƒŦãƒŧã‚ŋãƒŧ向けです
それはmagrittrぎバニナīŧ…>īŧ…とは違うことをしぞす
äģ–ぎいくつかぎパイプæŧ”įŽ—子もåĢã‚€ãƒ‘ãƒƒã‚ąãƒŧジ。 そうでãĒい限り
それらぎいずれかとįĢļåˆã—ãžã™ã€å•éĄŒã¯äŊ•ã§ã™ã‹īŧŸ

—
あãĒãŸãŒč¨€åŠã•ã‚ŒãŸãŽã§ã€ã‚ãĒたはこれを受け取ãŖãĻいぞす。
ã“ãŽãƒĄãƒŧãƒĢãĢį›´æŽĨčŋ”äŋĄã—、GitHubã§čĄ¨į¤ēしãĻください
https://github.com/Rdatatable/data.table/issues/1208#issuecomment -256732710、
ぞたぱãƒŦッドをミãƒĨãƒŧトしぞす
https://github.com/notifications/unsubscribe-auth/AC5xaxIp36dTUCz9d5a5mU7CJUV6PaxCks5q4PBDgaJpZM4FSJR5
。

%<>%は参į…§ãĢよãŖãĻå‰˛ã‚ŠåŊ“ãĻられぞすかīŧŸ そうでãĒい場合、åŊŧらは原際ãĢはぞãŖたく同じことをしãĻいぞせん。

æŠ€čĄ“įš„ãĢはあãĒたはæ­Ŗしいです、magrittrぎīŧ…<>īŧ…は参į…§ãĢよãŖãĻå‰˛ã‚ŠåŊ“ãĻぞせん、
しかし、これはčĻį‚šã‚’čļ…えãĻいぞす。 ãƒĻãƒŧã‚ļãƒŧぎ期垅ぎį¯„å›˛å†…ã§ã€
違い。 参į…§ãĢã‚ˆã‚‹å‰˛ã‚ŠåŊ“ãĻか値ãĢã‚ˆã‚‹å‰˛ã‚ŠåŊ“ãĻか
原čŖ…ãŽå•éĄŒã¯ã‚¤ãƒŗã‚ŋãƒŧフェãƒŧã‚šãŽå•éĄŒã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚ OPã¯æŽĄį”¨ã‚’ææĄˆã—ãžã—ãŸ
magrittrイãƒŗã‚ŋãƒŧフェãƒŧ゚であり、åŋ…ずしも原čŖ…ã‚’į¤ē唆しãĻいるわけではありぞせん。
OPææĄˆãĢãƒĄãƒĒットがありぞした。 ä¸Šč¨˜ãŽį†į”ąã‚’参į…§ã—ãĻください。 į§ã¯ã—ぞせん
'īŧ…īŧš>īŧ… or anything as arbitrary. The merit of this has not been articulated. The īŧ…<>īŧ… `ぎようãĒã‚‚ãŽã‚’æŽĄį”¨ã™ã‚‹į†į”ąã‚’参į…§ã—ãĻください
ã‚ĒペãƒŦãƒŧã‚ŋãƒŧはすでãĢ存在し、magrittrãĢよãŖãĻįŠæĨĩįš„ãĢæŽ¨é€˛ã•ã‚ŒãĻいぞすīŧˆ12į•Ēį›ŽãĢ多い
METACRANãĢよるとäēēæ°—ãŽã‚ã‚‹ãƒ‘ãƒƒã‚ąãƒŧジです。īŧ‰ã“れはäŊ•ã‚ˆã‚Šã‚‚
標æē–ãĢãĒりぞすīŧˆRã‚ŗミãƒĨニテã‚Ŗ内īŧ‰ã€‚ フりロãƒŧã™ã‚‹ã“ã¨ãŽč‰¯ã„ã¨ã“ã‚
įĸēįĢ‹ã•ã‚ŒãŸæ…ŖčĄŒã¯ã€ãƒĻãƒŧã‚ļãƒŧãŽæˇˇäšąã¨
包æ‹Ŧįš„ãĒドキãƒĨãƒĄãƒŗト。 「ああ、これはmagrittrと同じです、į§ã¯
こぎフりワãƒŧドパイプをįŸĨãŖãĻいãĻ、「これはäŊ•ã§ã™ã‹ã€ã§ã¯ãĒãã€Œå‰˛ã‚ŠåŊ“ãĻã‚’čĄŒã„ãžã™ã€
åĨ‡åĻ™ãĒīŧ…īŧš>īŧ…īŧŸ それは新しいピエロぎįĩĩ文字ですかīŧŸã€

14:18ぎ木、2016åš´10月27æ—ĨãĢã¯ã€ãƒžã‚¤ã‚ąãƒĢãƒģキãƒĒã‚ŗ[email protected]
書きぞしたīŧš

īŧ…<>īŧ…は参į…§ãĢよãŖãĻå‰˛ã‚ŠåŊ“ãĻぞすかīŧŸ そうでãĒい場合、åŊŧらは原際ãĢは_しãĻいãĒい_
ぞãŖたく同じこと。

—
あãĒãŸãŒč¨€åŠã•ã‚ŒãŸãŽã§ã€ã‚ãĒたはこれを受け取ãŖãĻいぞす。
ã“ãŽãƒĄãƒŧãƒĢãĢį›´æŽĨčŋ”äŋĄã—、GitHubã§čĄ¨į¤ēしãĻください
https://github.com/Rdatatable/data.table/issues/1208#issuecomment -256772769、
ぞたぱãƒŦッドをミãƒĨãƒŧトしぞす
https://github.com/notifications/unsubscribe-auth/AC5xa3ssE14PcamL2U9HlvCdfA8-7Iz8ks5q4RUagaJpZM4FSJR5
。

ãƒĻãƒŧã‚ļãƒŧぎ期垅ぎį¯„å›˛å†…ã§ã€é•ã„ã¯ã‚ã‚Šãžã›ã‚“ã€‚

ぞず、それがįœŸåŽŸã§ã‚り、あãĒたがすずãĻぎãƒĻãƒŧã‚ļãƒŧぎためãĢčŠąã—ãĻいるとは思いぞせん。 たとえば、į§ã¯ãƒĻãƒŧã‚ļãƒŧです。 æŦĄãĢ、それがåŊ“ãĻはぞる場合、これらぎãƒĻãƒŧã‚ļãƒŧはdata.tableぎäŊŋį”¨æŗ•ã‚’å­ĻãļときãĢ違いãĢついãĻå­Ļãļåŋ…čĻãŒã‚りぞす。

あãĒãŸãŽã€Œä¸Šč¨˜ãŽį†į”ąã€ã¯į§ã¨ä¸€įˇ’ãĢ水をäŋæŒã—ãĻいぞせん。 é‡č¤‡ã—ãĒいパイプæŧ”įŽ—子を原čŖ…しãĻ、明įĸēであるがé–ĸé€Ŗã™ã‚‹ã“ã¨ã‚’čĄŒã†ã“ã¨ã¯ã€ãŠã†ã„ã†ã‚ã‘ã‹magrittrãĢ反することではありぞせん。 į§ãĢとãŖãĻ-そしãĻこれはį§ãŽå°čąĄã§ã‚り、あãĒãŸãŒč¨€ãŖãĻいることはすずãĻあãĒたぎもぎであるぎと同じようãĢ-これはmagrittrぎ「įĸēįĢ‹ã•ã‚ŒãŸæ…ŖčĄŒã€īŧˆį§ãŒdata.tableをäŊŋį”¨ã™ã‚‹ãŽã¨ãģãŧ同じくらいé ģįšãĢäŊŋį”¨ã™ã‚‹īŧ‰ã¨åŽŒå…¨ãĢä¸€č‡´ã—ãĻいるようですīŧ‰ã€‚

こぎã‚ŗãƒŗテキ゚トでäŊŋį”¨ã™ã‚‹ã¨ã€ä¸€åēĻãĢč¤‡æ•°ãŽã‚Ēブジェクトīŧˆåˆ—īŧ‰ãĢå‰˛ã‚ŠåŊ“ãĻられる可čƒŊ性がありぞす。これは、 %<>% ..īŧŸã¨ã¯ãžãŖたくį•°ãĒることãĢ同意するはずです。 つぞり

DT[, (cols) %:>% lapply(as.character) ]

ぞた、参į…§ãĢよãŖãĻ変更し、一åēĻãĢč¤‡æ•°ãŽã‚‚ãŽã‚’å¤‰æ›´ã™ã‚‹å¯čƒŊ性があることãĢ加えãĻ、 %<>%とはぞãŖたくį•°ãĒるもぎīŧˆdata.tableīŧ‰ãŽä¸€éƒ¨ã‚’変更しãĻいるというäē‹åŽŸãŒã‚りぞす。

とãĢかく、開į™ēč€…ã¯ã™ããĢこぎã‚ŋã‚šã‚¯ã‚’åŽŸčĄŒã™ã‚‹å…†å€™ã‚’į¤ēしãĻいãĒいぎでīŧˆã“ぎFRãĢå„Ē先åēĻぞたはマイãƒĢ゚トãƒŧãƒŗをマãƒŧクすることãĢよãŖãĻīŧ‰ã€åŽŸéš›ãĢå‰é€˛ã—ãŸå ´åˆã¯ã€ã“ã‚Œã‚’å†æ¤œč¨Žã—ãĻãŋぞせんかīŧŸ

@ctbrown _by-reference_は原čŖ…がį•°ãĒるだけでãĒく、ãƒĻãƒŧã‚ļãƒŧイãƒŗã‚ŋãƒŧフェイ゚ぎ_by-value_é–ĸ数とåŒēåˆĨするåŋ…čĻãŒã‚りぞす。 これが、data.tableぎset*é–ĸ数と:=æŧ”įŽ—子ぎčĻį‚šã§ã‚り、é–ĸ数ぎå…Ĩ力を原際ãĢ変更しãĻいるもぎをãƒĻãƒŧã‚ļãƒŧãĢ明įĸēãĢäŧãˆãžã™ã€‚ こぎようãĒįŸ­ã„期間ぎ垌、Rã‚ŗミãƒĨニテã‚Ŗ内ぎ標æē–を判断するぎは困é›Ŗですが、Rã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗは数十嚴ãĢわたãŖãĻäŊœæˆã•ã‚ŒãĻおり、「新しい標æē–」を判断するぎは時期尚旊です。 、間違ãŖãĻã„ã‚‹å ´åˆã¯č¨‚æ­ŖしãĻください。 äŊ•åēĻã‚‚č¨€ãŖたようãĢ、magrittrパイプは、ã‚ŗãƒŧドぎチãƒŖãƒŗクを提į¤ēしたいときãĢイãƒŗã‚ŋナクテã‚ŖブãĢäŊŋį”¨ã™ã‚‹ãŽãĢ非常ãĢäžŋ刊ですが、抟čƒŊがä¸ģãĒį„Ļį‚šã§ã‚ã‚‹Rãƒ‘ãƒƒã‚ąãƒŧジをäŊœæˆã™ã‚‹å ´åˆã¯åŽŸéš›ãĢはåŋ…čĻã‚りぞせん。 IMOでäŊ•ã‹ã‚’イãƒŗプãƒŦãƒŧ゚で変更できる場合は、イãƒŗプãƒŦãƒŧ゚で変更しãĒいæŧ”įŽ—子とはį•°ãĒるæŧ”įŽ—子をäŊŋį”¨ã™ã‚‹åŋ…čĻãŒã‚りぞす。

@ franknarf1 、

ぞず、すずãĻぎRãƒĻãƒŧã‚ļãƒŧãĢついãĻčŠąã™ã“ã¨ãĢついãĻぎä¸ģåŧĩはありぞせんでした。 それはばかげたä¸ģåŧĩです。 「ãƒĻãƒŧã‚ļãƒŧãŽæœŸåž…ã€ã¸ãŽč¨€åŠã¯ã€ãŠãã‚‰ãį§č‡ĒčēĢ、おそらくOPと、すでãĢdt[ , var %<>% ... ]をčŠĻし、ãĒぜそれが抟čƒŊしãĒいぎかを尋ねたį§ãŽå­Ļį”ŸãŽäŊ•äēēかãĢ寞するもぎでした。 さらãĢ、DTが期垅おおりãĢ抟čƒŊする場合、ãƒĻãƒŧã‚ļãƒŧãĢ「data.tableぎäŊŋį”¨æŗ•ã‚’å­ĻãļときãĢ違いãĢついãĻå­Ļãļã€ã“ã¨ã¯åąé™ēです。 これはæ‚Ēいã‚Ŋフトã‚Ļェã‚ĸ設計ãĢつãĒがりぞす。

įŦŦäēŒãĢ、あãĒたが指摘するようãĢ、magriitr構文ãĢ垓うというOPãŽææĄˆãĢ垓うことãĢčŗ›æˆã—ãĻč­°čĢ–を受けå…Ĩれるか拒åĻするかは個äēēぎč˛Ŧäģģです。 ãĒぜこれが有į›Šã§ã‚るかãĢついãĻã„ãã¤ã‹ãŽč­°čĢ–が提䞛されãĻきぞしたが、äģŖæ›ŋæĄˆãŒå„ĒれãĻいる、あるいは有į›Šã§ã•ãˆã‚ã‚‹į†į”ąã‚’提䞛するčĒŦåž—åŠ›ãŽã‚ã‚‹č­°čĢ–はãģとんおありぞせん。 原čŖ…がį•°ãĒるため、マイナãƒŧãĒč­°čĢ–があるようですが、それはかãĒりåŧąã„č­°čĢ–です。

さらãĢ、

  • %<>%ã¯ã€č¤‡æ•°ãŽåŧ•æ•°ã‚’å‡Ļį†ã™ã‚‹ã‚ˆã†ãĢ原čŖ…することもでき、OPやäģ–ぎäēēぎ期垅を厈りãĒがら、ã‚ŗãƒŗテキ゚ト内で厌全ãĢ意å‘ŗをãĒしぞす。 OPãŽææĄˆã¯ã€åŊŧãŒč¤‡æ•°ãŽåŧ•æ•°ã‚’変更したいかおうかを原際ãĢは指厚しãĻいぞせんでした。
  • 一部を変更するか全äŊ“を変更するかは重čĻã§ã¯ã‚りぞせん。常ãĢ、į’°åĸƒãĒおぎ一部を変更しぞす。
  • 開į™ēč€…ãŽčĄŒå‹•ãžãŸã¯ä¸äŊœį‚ēはåˆĨぎčĩ¤ã„ãƒ‹ã‚ˇãƒŗであり、OPãŽææĄˆ/čĻæą‚ãŽãƒĄãƒĒットとはé–ĸäŋ‚ありぞせん。 ã“ã‚Œã¯ã€ãŠãĄã‚‰ãŽæ–šæŗ•ã§ã‚‚原際ãĢは意čĻ‹ã‚’提䞛しãĻいãĒい、かãĒã‚Šč˛§åŧąãĒæ¨Šå¨ã¸ãŽč¨´ãˆãŽč­°čĢ–です。

OPãŽææĄˆãĢčŗ›æˆ/åå¯žãŽč­°čĢ–があれば、į§ã¯ãã‚Œã‚‰ã‚’čžã„ãĻãŋたいです。 しかし、į§ãŒčžã„た唯一ぎことは、「それが違うから」ということです。 たãļã‚“ã€ã“ã‚Œã¯æœ‰åŠšã§ã‚ã‚‹ã¨č€ƒãˆã‚‹äēēもいるかもしれぞせんが、OPぎåŊ“åˆãŽææĄˆã¨æ¯”čŧƒã™ã‚‹ã¨ã€äģŖæ›ŋæĄˆã¯č‰¯ããĒいようです。

data.tableをäŊŋį”¨ã—たことぎあるäēēは、いつかåˆĨぎ斚æŗ•ã§:=äŊŋį”¨ãĢついãĻå­Ļãļåŋ…čĻãŒã‚りぞすīŧˆãŠãã‚‰ãé–‹å§‹åžŒã™ããĢīŧ‰ã€‚ いや、不気å‘ŗīŧ <-ぞたは=はãĒいぎはãĒぜですかīŧŸ

これãĢ寞するį­”えは、čĒ°ã‚‚がdata.tableäŊŋį”¨ãĢついãĻ最初ãĢå­Ļãļことぎ1つです。 これは、 2į•Ēį›ŽãŽã‚¤ãƒŗトロビネットぎトピックです。

%<>%と%<:>% īŧˆãžãŸã¯æœ€įĩ‚įš„ãĢはäŊ•ã§ã‚ã‚Œīŧ‰ã¯ãžãŖたく同じåŒēåˆĨです。 したがãŖãĻ、į­”えはここでマットãĢよãŖãĻã‚ĢバãƒŧされãĻいぞすīŧš

http://stackoverflow.com/questions/7033106/why-has-data-table-defined-rather-than-overloading

@jangorecki

ぞず、ãģとんおぎãƒĻãƒŧã‚ļãƒŧは、参į…§ãĢよるもぎと値ãĢよるもぎぎ違いをįŸĨるåŋ…čĻã¯ã‚りぞせん。 これをįŸĨãŖãĻいることは、DTをäŊŋį”¨ã™ã‚‹ãŸã‚ãŽå‰ææĄäģļではありぞせん。 おそらく、これがDT構文がDFãĢ非常ãĢčŋ‘いį†į”ąã§ã™ã€‚ @mattdowleは、į´”į˛‹é–ĸ数型イãƒŗã‚ŋãƒŧフェãƒŧ゚を備えたDTを明įĸēãĢč¨­č¨ˆã§ããŸã¯ãšã§ã™ã€‚ åŊŧはしぞせんでした。 おそらく、į†į”ąãŽ1つは、DTがäģŖæ›ŋ品ぎドロップとしãĻ抟čƒŊする可čƒŊ性があることでした。

set*é–ĸ数ãĢé–ĸしãĻは、これらは参į…§ãĢよãŖãĻį¤ēされる場合がありぞすが、より明įĸēãĒset*ByRefという名前ではãĒいことãĢæŗ¨æ„ã—ãĻください。 これらぎ抟čƒŊは、ä¸ģãĢ劚įŽ‡įš„ãĒ操äŊœã‚’åŽŸčĄŒã—ã€DFをDTãĢ変換し、キãƒŧã‚’č¨­åŽšã™ã‚‹ãŸã‚ãĢ存在しãĻいるようです。 それらが参į…§ãĢよる操äŊœã‚’į¤ēすためãĢ取られることができるということはäēŒæŦĄįš„ãĒようです。

:= 、į§ã¯åŊŧがäŊŋį”¨ã—たį†į”ą@mattdowleビãƒŧイãƒŗグは、ãƒĻãƒŧã‚ļãƒŧUCLAで尋ね思いå‡ēすと思いぞす:=ぎäģŖわりãĢ= 。 IIRC、åŊŧは=をäŊŋį”¨ã§ããšã€ :=が刊į”¨å¯čƒŊであるとčŋ°ãšãžã—た。 IIRC、åŊŧは=をäŊŋį”¨ã™ã‚‹ã“とをåĨŊんだでしょう。

Rã‚ŗミãƒĨニテã‚Ŗぎ標æē–であるWRTīŧˆæ¨™æē–がãĒいことで有名īŧ‰magrittrは、åēƒãäŊŋį”¨ã•ã‚Œã€č­°čĢ–されãĻいぞす。 OPは、それとぎį›¸äē’運į”¨æ€§ãŒå„Ēれた抟čƒŊãĢãĒることをį¤ē唆しãĻいぞす。 同意しぞす。 これãĢついãĻį–‘問がある場合は、CRANペãƒŧジをごčĻ§ãã ã•ã„。 開į™ēč€…ã¯ã€į‹Ŧč‡ĒãŽãƒ‘ãƒƒã‚ąãƒŧジでmagrittrをäŊŋį”¨ã—ãĻいぞす。 さらãĢã€ãƒ‘ãƒƒã‚ąãƒŧジぎäŊœæˆã¯RãƒĻãƒŧã‚ļãƒŧぎ大多数ではありぞせん。 しかし、これはæœŦåŊ“ãĢãƒˆãƒ”ãƒƒã‚¯ã‹ã‚‰ãŽé€¸č„ąã§ã™ã€‚

あãĒãŸãŒæäž›ã™ã‚‹č­°čĢ–ã¯ã€ã€Œå‰˛ã‚ŠåŊ“ãĻは参į…§ãĢよるもぎであり、構文がį•°ãĒるため、DTはmagrittrとはį•°ãĒりぞす」ãĢ芲åŊ“しぞす。 åŋœį­”はぞだですīŧšåŽŸčŖ…はį•°ãĒりぞす、æœŦåŊ“です。 ただし、ãģとんおぎãƒĻãƒŧã‚ļãƒŧãĢとãŖãĻ原čŗĒįš„ãĢ同じ操äŊœã§ã‚り、ãƒĻãƒŧã‚ļãƒŧぎ期垅ãĢæē–拠し、ã‚ŗãƒŗテキ゚トから原際ぎ操äŊœã‚’推æ¸Ŧできるため、イãƒŗã‚ŋãƒŧフェãƒŧ゚は同じであるåŋ…čĻãŒã‚りぞす。

@mattdowleは、į´”į˛‹é–ĸ数型イãƒŗã‚ŋãƒŧフェãƒŧ゚を備えたDTを明įĸēãĢč¨­č¨ˆã§ããŸã¯ãšã§ã™ã€‚ åŊŧはしぞせんでした。

åŊŧがしãĒかãŖたぎはうれしい。 「į´”į˛‹ãĢ抟čƒŊする」ãĢロックすることは、ãƒĻãƒŧã‚ļãƒŧãŒã‚ˆã‚Šé€Ÿãã€ã‚ˆã‚ŠãƒĄãƒĸãƒĒ劚įŽ‡ãŽéĢ˜ã„ã‚ŗãƒŧドを書くためãĢäŊŋį”¨ã§ãã‚‹ã‚ˆã†ãĢãĒãŖたいくつかぎ重čĻãĒ抟čƒŊを削除することを意å‘ŗしぞす。 「į´”į˛‹é–ĸ数」フãƒŦãƒŧムワãƒŧクでäŊŋį”¨ã™ã‚‹ãŽã¯åŸēæœŦįš„ãĢ原į”¨įš„ではãĒいプロジェクトīŧˆã¤ãžã‚Šã€ã‚ĸãƒŗã‚ĢãƒŧãƒĸデãƒĒãƒŗグīŧ‰ãŒã‚りぞす。

@jangorecki
全くもãŖãĻ同じ意čĻ‹ã§ã™ã€‚ しかし、į§ãŸãĄã¯åŊ“åˆãŽææĄˆã‹ã‚‰DTãŽãƒĄãƒĒãƒƒãƒˆã¸ã¨é€¸č„ąã—å§‹ã‚ãĻいぞす。

@MichaelChirico

č­°čĢ–ãĢ悟りぎ感čĻšã‚’もたらしãĻくれãĻありがとう。 参į…§ã¯å…ƒãŽææĄˆã‹ã‚‰å°‘し外れãĻいぞすが、čŗ›æˆãŽãƒã‚¤ãƒŗトぞたはOPææĄˆã‚’čĒŦ明するぎãĢåŊšįĢ‹ãĄãžã™ã€‚

  • æŧ”įŽ—子ぎ選択はäģģ意です。 Matt Dowleは、 :=前ãĢいくつかčŠĻしぞした。 īŧšåŊŧは最初ぎ標æē–最初ãĢ、より整合しãĻいた明į™ŊãĒもぎをčŠĻしãĻãŋぞした<- 、 <<- 、 := 、それが刊į”¨å¯čƒŊだãŖãŸãŽã§ãĄã‚‡ã†ãŠã¤ãžãšã„ãŸã¨é†œã„æ§‹æ–‡ãŽãŸã‚ãĢäŊœã‚‰ã‚ŒãŸé¸æŠžč‚ĸ。 åŊŧが新しいæŧ”įŽ—子を厚įžŠã™ã‚‹ã‚ˆã‚Šã‚‚æ—ĸ存ぎæŧ”įŽ—子をåĨŊむことは明らかでした。
  • ãƒĻãƒŧã‚ļãƒŧã¯ã€å‰˛ã‚ŠåŊ“ãĻが参į…§ãĢã‚ˆã‚‹å‰˛ã‚ŠåŊ“ãĻãĢよãŖãĻčĄŒã‚ã‚Œã‚‹ã“ã¨ã‚’ã‚ŗãƒŗテキ゚トからį†č§Ŗできぞすが、それがおぎようãĢčĄŒã‚ã‚Œã‚‹ã‹ã¯å•éĄŒã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚
  • į­‰ã€‚

ぞず、すずãĻぎRãƒĻãƒŧã‚ļãƒŧãĢついãĻčŠąã™ã“ã¨ãĢついãĻぎä¸ģåŧĩはありぞせんでした。 それはばかげたä¸ģåŧĩです。 「ãƒĻãƒŧã‚ļãƒŧãŽæœŸåž…ã€ã¸ãŽč¨€åŠã¯ã€į§č‡ĒčēĢ、おそらくOPとį§ãŽå­Ļį”ŸãŽäŊ•äēēかãĢ寞するもぎでした。

あãĒたがæœŦåŊ“ãĢč‡Ē分č‡ĒčēĢを意å‘ŗするときãĢ「ãƒĻãƒŧã‚ļãƒŧ」を指すことは、逆劚果で気をæ•ŖらすäŋŽčžžįš„ãĒčŖ…įŊŽã§ã™ã€‚ OPが「 %:>%はį§ãĢはäŧŧåˆã†ã€ã¨č¨€ãŖãĻいることãĢも気ãĨいたかもしれぞせん。

開į™ēč€…ãŽčĄŒå‹•ãžãŸã¯ä¸äŊœį‚ēはåˆĨぎčĩ¤ã„ãƒ‹ã‚ˇãƒŗであり、OPãŽææĄˆ/čĻæą‚ãŽãƒĄãƒĒットとはé–ĸäŋ‚ありぞせん。 ã“ã‚Œã¯ã€ãŠãĄã‚‰ãŽæ–šæŗ•ã§ã‚‚原際ãĢは意čĻ‹ã‚’提䞛しãĻいãĒい、かãĒã‚Šč˛§åŧąãĒæ¨Šå¨ã¸ãŽč¨´ãˆãŽč­°čĢ–です。

į§ã¯ãã“でčĢ–į‚šã‚’ä¸ģåŧĩしãĻいãĒã„ãŽã§ã€ãã‚Œã¯æ¨Šå¨ã¸ãŽč¨´ãˆã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚ čŊãĄį€ããŽã¯ã‚ãĒたへぎã‚ĸピãƒŧãƒĢとしãĻ。 これはæąēしãĻ原čŖ…されãĒいかもしれãĒいぎで、大騒ぎをåģļ期することはできぞせんかīŧŸ 原čŖ…垌ãĢé–ĸ数ぎ名前を切りæ›ŋえるぎはį°Ąå˜ãĒことだと思いぞすīŧˆã‚‚しそうãĒらīŧ‰ã€‚そぎ時į‚šã§ãŠãŽã‚ˆã†ãĒæ­ŖįĸēãĒ抟čƒŊをčĻ‹ãĻいるぎかがよくわかりぞす。

原čŗĒįš„ãĒč­°čĢ–ãĢé–ĸする限り、æŦĄãŽã‚ˆã†ãĢãĒりぞす。

  • į§ã¯ãã‚ŒãŒéžå¸¸ãĢäŊŽã„magrittrがäģŠãžã§äŊŋį”¨ã—ようとしãĻã„ã‚‹ã“ã¨ã‚’č€ƒãˆã‚‹%<>%同じようãĢ、そぎLHSä¸ŠãŽč¤‡æ•°ãŽã‚Ēブジェクトを変更するためãĢlist(x, y) %<>% logãĢ類äŧŧし、 DT[, c("x", "y") := lappy(.SD, log), .SDcols = c("x","y")] 。
  • 同様ãĢ、あãĒたは%<>%がx[ 2:4 ] %<>% logようãĒã‚Ēブジェクトぎ一部を変更するためãĢäŊŋį”¨ã•ã‚Œã‚‹å¯čƒŊ性があることをį§ãŒčĻ‹ãŸæœ€åˆãŽãƒ’ãƒŗトです。これはDT[ 2:4, x := log(x) ]類äŧŧしãĻいぞす。

https://github.com/tidyverse/magrittr/issuesでこれらぎ抟čƒŊぎFRをčĻ‹ã‚‹ãŽã‚’æĨŊしãŋãĢしãĻいぞす。įĸēかãĢそぎ抟čƒŊをäŊŋį”¨ã™ã‚‹ãŽã§ã€FRãŒé€šéŽã™ã‚‹ã“ã¨ã‚’éĄ˜ãŖãĻいぞす。

@ franknarf1 、

取られたポイãƒŗト; OPが「īŧ…īŧš>īŧ…はį§ãĢはäŧŧåˆã†ã€ã¨č¨€ãŖãĻいるぎをčĻ‹é€ƒã—ãĻいぞした。

それãĢもかかわらず、それはį§ã ã‘ではありぞせん。 OPは、最初ãĢmagrittræ§‹æ–‡ã‚’ææĄˆã—ãžã—ãŸã€‚ おそらく、åŊŧは垌でäģŖæ›ŋæĄˆã‚’čĒã‚ãŸãĢã‚‚ã‹ã‹ã‚ã‚‰ãšã€ãã‚Œã¯č‰¯ã„č€ƒãˆã ã¨æ€ãŖた。 į§ã‚‚ãã‚ŒãŒč‰¯ã„č€ƒãˆã ã¨æ€ãŖãĻいぞした。それがį§ã‚’ここãĢé€ŖれãĻきたį†į”ąã§ã‚り、これはそれをčŠĻしたäŊ•äēēかぎå­Ļį”ŸãĢよãŖãĻäŋƒã•ã‚Œãžã—た。 おそらく、äģ–ãĢもありぞす。 とãĢかく、これを唯一ぎčĻ–į‚šã¨ã—ãĻå´ä¸‹ã™ã‚‹ã“ã¨ã¯ã€ãĄã‚‡ãŖとしたポイãƒŗãƒˆãŽč„‡ãĢありぞす。

įŦŦäēŒãĢã€č­°čĢ–ã¯åŽŸéš›ã€æ¨Šå¨ã¸ãŽč¨´ãˆã§ã—ãŸã€‚ 厌全ãĢčŊãĄį€ã„ãĻいぞすが、「čŊãĄį€ããŽã‚‚魅力」かもしれぞせん。 いずれãĢせよ、そぎį‚šã¯čŠąéĄŒã‹ã‚‰å¤–ã‚ŒãĻいるようãĢ思われ、OPææĄˆãŽãƒĄãƒĒットãĢ寞å‡ĻしãĻいぞせん。 ぞた、これが原æ–Ŋされる可čƒŊ性が非常ãĢäŊŽã„というäē‹åŽŸã¯ã€ææĄˆãŽãƒĄãƒĒットとはé–ĸäŋ‚がãĒいようです。

それはあãĒたがæ­ŖしいことをさらãĢčĒã‚ãĒければãĒりぞせん。 原čŖ…したé–ĸ数ぎ名前を変更するぎはį°Ąå˜ã§ã™ã€‚ ただし、こぎようãĒ変更ãĢより、こぎ抟čƒŊをäŊŋį”¨ã—ãĻ開į™ēされたã‚ŗãƒŧドがį ´æã™ã‚‹å¯čƒŊ性がありぞす。 垌でäē’換性ぎãĒい変更でãƒĻãƒŧã‚ļãƒŧãĢč˛ æ‹…ã‚’ã‹ã‘ã‚‹ãŽã§ã¯ãĒく、原čŖ…する前ãĢイãƒŗã‚ŋãƒŧフェãƒŧã‚šãĢついãĻčŠąã—åˆã†ã“ã¨ãĢ時間をč˛ģやすことは厌全ãĢį†ãĢかãĒãŖãĻいぞす。 č­°čĢ–ã‚’ã‚ˇãƒŖットダã‚Ļãƒŗすることが有į”¨ãĒį›Žįš„ãĢåŊšįĢ‹ã¤ãŽã‹ã¯ä¸æ˜Žã§ã™ã€‚

原čŗĒįš„ãĒč­°čĢ–ãĢé–ĸしãĻは、åŊŧã‚‰ã¯ã€ææĄˆã•ã‚ŒãŸ%<>%構文ãĢ寞å‡Ļするよりも、magrittrぎ抟čƒŊぎ向上を支持しãĻいるようです。 īŧˆå€‹äēēįš„ãĢは、magrittrぎäēē々があãĒãŸãŽææĄˆã€į‰šãĢæœ€åˆãŽææĄˆã‚’åŽŸčĄŒã™ã‚‹åŋ…čĻãŒã‚ることãĢ同意しぞす。2į•Ēį›ŽãŽææĄˆã‚’それãģおäŊŋį”¨ã™ã‚‹ã‹ãŠã†ã‹ã¯ã‚ã‹ã‚Šãžã›ã‚“。īŧ‰magrittrぎäēēã€…ã¸ãŽææĄˆãĢé–ĸäŋ‚ãĒく、äŊ•ã‚‚ありぞせん。 DTãŒæ‹Ąåŧĩ抟čƒŊã‚’æŽĄį”¨ã—、magrittr %<>%æŧ”įŽ—子をäŊŋį”¨ã™ã‚‹ã“ととįŸ›į›žã—ãĻいぞす。 そしãĻ、į§ã¯ãžã åŽŸéš›ãĢčĒ­ã‚“でおらず、 %:=% īŧˆãžãŸã¯äģŖæ›ŋīŧ‰ãŒ%<>%よりもå„ĒれãĻいるというčĒŦåž—åŠ›ãŽã‚ã‚‹č­°čĢ–をしãĻいぞす。

話題ãĢæˆģるためãĢ、é–ĸé€Ŗã™ã‚‹č­°čĢ–ã‚’čĻį´„することがåŊšįĢ‹ã¤ã‹ã‚‚しれãĒいと思いぞした。

%:>%ã‚’æ”¯æŒã™ã‚‹č­°čĢ–īŧš

  • DTパイプフりワãƒŧãƒ‰å‰˛ã‚ŠåŊ“ãĻは、参į…§ãĢã‚ˆã‚‹å‰˛ã‚ŠåŊ“ãĻを原čŖ…しぞす。 ã“ã‚Œã¯ã€å‰˛ã‚ŠåŊ“ãĻがおぎようãĢ原čŖ…されãĻいるかをãƒĻãƒŧã‚ļãƒŧãĢ明įĸēãĢするため、æŧ”įŽ—子でåŒēåˆĨするåŋ…čĻãŒã‚りぞす。 これãĢより、不åŋ…čĻãĒæˇˇäšąã‚’éŋけることができぞす。
  • DTがmagrittrでīŧˆãžã īŧŸīŧ‰ã‚ĩポãƒŧトされãĻいãĒいčŋŊ加抟čƒŊをčŋŊ加する場合がありぞすīŧˆãŸã¨ãˆã°ã€č¤‡æ•°ãŽå‰˛ã‚ŠåŊ“ãĻ、部分įš„ãĒå‰˛ã‚ŠåŊ“ãĻīŧ‰ã€‚ したがãŖãĻ、操äŊœã‚’åŒēåˆĨするぎが最善です。
  • %<>%はäģ–ぎ選択č‚ĸと同じようãĢæŖ意įš„であり、 %:>%はよりDTãĢäŧŧãĻいぞす。

%<>%ã‚’æ”¯æŒã™ã‚‹č­°čĢ–īŧš

  • magrittrはすでãĢパイプフりワãƒŧドäģŖå…Ĩæŧ”įŽ—子を原čŖ…しãĻおり、åēƒãäŊŋį”¨ã•ã‚ŒãĻおり、äŊ•ã§ã‚‚標æē–ぎようです。 標æē–ãĢ垓うことは、暗éģ™įš„ではありぞすが、新しいã‚ĒペãƒŦãƒŧã‚ŋãƒŧをčĒŦ明するためãĢåŋ…čĻãĒドキãƒĨãƒĄãƒŗトとčĒŦ明ぎ量がDT開į™ēč€…ãŽč˛ æ‹…ã‚’čģŊ減することを意å‘ŗしぞす。
  • ãƒĻãƒŧã‚ļãƒŧはすでãĢ:=ぎRHSでDTでmagrittrをäŊŋį”¨ã—ãĻいぞす。 さらãĢ、いくつかぎč¨ŧ拠は、ãƒĻãƒŧã‚ļãƒŧがmagrittr %<>%構文を期垅/čŠĻしたことをį¤ē唆しãĻいぞす。 ãã‚Œã‚’æŽĄį”¨ã™ã‚‹ã“とは、これらぎãƒĻãƒŧã‚ļãƒŧぎ期垅ãĢä¸€č‡´ã™ã‚‹ã§ã—ã‚‡ã†ã€‚
  • ã‚ŗãƒŧドをdplyr / magrittr <-> DTãĢį§ģ動すると、構文がäŧŧãĻいる場合があるため、よりį°Ąå˜ã§į°Ąå˜ãĢãĒりぞす。
  • æŧ”įŽ—子ぎ数がåĸ—えると、さらãĢ複雑ãĢãĒりぞす。 こぎ場合、ã‚ĒペãƒŦãƒŧã‚ŋãƒŧはã‚ĸã‚¯ã‚ˇãƒ§ãƒŗを指厚するåŋ…čĻãŒã‚り、åŋ…į„ļįš„ãĢ原čŖ…を指厚するåŋ…čĻãŒã‚ã‚‹ãŸã‚ã€č¤‡é›‘ã•ã¯ä¸čĻã§ã™ã€‚これがジェネãƒĒãƒƒã‚¯ãƒĄã‚Ŋッドぎ動äŊœæ–šæŗ•ã§ã™ã€‚
  • %:>%は%<>%と同じくらいæŖ意įš„です。

ã‚ŗãƒŧドをdplyr / magrittr <-> DTãĢį§ģ動すると、構文がäŧŧãĻいる場合があるため、よりį°Ąå˜ã§į°Ąå˜ãĢãĒりぞす。

参į…§ãĢよる変更がこぎį¨ŽãŽį§ģ植されたã‚ŗãƒŧãƒ‰ã‚’ã˛ãŠãåŖŠã™æ–šæŗ•ã‚’厌全ãĢčĻ‹é€ƒã—ãĻいぞす。
元ぎã‚Ēブジェクトが変更されãĒいことがわかãŖãĻã„ãŸå ´æ‰€ã¯ã€å‰˛ã‚ŠåŊ“ãĻæ–šæŗ•ãŒå¤‰æ›´ã•ã‚ŒãŸãŸã‚ãĢįĒį„ļ変更されぞす。そぎため、æŧ”įŽ—子をåŒēåˆĨするīŧˆãã—ãĻã€åŒã˜čĄŒãĢ値īŧˆã‚ŗピãƒŧīŧ‰ã§å‰˛ã‚ŠåŊ“ãĻる可čƒŊ性をįļ­æŒã™ã‚‹ã“とが重čĻã§ã™īŧ‰ã€‚ã‚ŗãƒŧドもīŧ‰ã€‚

data.tableをã‚ŗピãƒŧする場合とdata.frameをã‚ŗピãƒŧする場合īŧˆdt2 <-dtīŧ‰ã¨åŒã˜å•éĄŒã§ã€2į•Ēį›ŽãŽäŊœæĨ­ãŽãŋã‚’čĄŒãŖたときãĢ、元ぎdtが更新されたį†į”ąãĢついãĻįĒį„ļ頭を悊ぞせぞす。

こぎæ­ŖįĸēãĒäēˆé˜˛į­–は、ã‚ĒペãƒŦãƒŧã‚ŋãƒŧがäŊ•ã‚’するかãĢついãĻぎæ­ŖįĸēãĒ文書をåŋ…čĻã¨ã™ã‚‹ãŸã‚ã€æœ€åˆãŽãƒã‚¤ãƒŗトもį„ĄåŠšãĢしぞす。åˆĨぎ文書をäŊŋį”¨ã™ã‚‹ã¨ã€æ­Ŗしい文書をį°Ąå˜ãĢčĻ‹ã¤ã‘ることができぞす。

@tensibai、

äē†č§Ŗした。 したがãŖãĻ、ã‚ĸã‚ĩãƒŧã‚ˇãƒ§ãƒŗぎ「可čƒŊ性がある」部分です。

1:32ぎ水、2016åš´11月2æ—ĨãĢは、Tensibaiぎ[email protected]は書きぞしたīŧš

ã‚ŗãƒŧドを-dplyr / magrittr <-> DTãĢį§ģ動すると、よりį°Ąå˜ãĢãĒりぞす。
場合ãĢよãŖãĻは構文がäŧŧãĻいる可čƒŊ性があるためです。

参į…§ãĢよる変更がおぎようãĢã˛ãŠãčĄŒã‚ã‚Œã‚‹ã‹ã‚’åŽŒå…¨ãĢčĻ‹é€ƒã—ãĻいぞす
こぎį¨ŽãŽį§ģ植されたã‚ŗãƒŧドをį ´ã‚Šãžã™ã€‚ あãĒたがあãĒたぎã‚ĒãƒĒジナãƒĢをįŸĨãŖãĻいた場所
ã‚Ēãƒ–ã‚¸ã‚§ã‚¯ãƒˆã¯å¤‰æ›´ã•ã‚Œãžã›ã‚“å‰˛ã‚ŠåŊ“ãĻãƒĄã‚ŊッドがįĒį„ļ変更されぞす
変更、これがæœŦåŊ“ãĢæŧ”įŽ—子をåŒēåˆĨすることが重čĻã§ã‚ã‚‹į†į”ąã§ã™
īŧˆãã—ãĻã€åŒã˜čĄŒãĢ値īŧˆã‚ŗピãƒŧīŧ‰ã§å‰˛ã‚ŠåŊ“ãĻる可čƒŊ性をįļ­æŒã™ã‚‹ãŸã‚
ã‚ŗãƒŧドぎīŧ‰ã€‚

これは、data.tableをã‚ŗピãƒŧする場合とdata.frameをã‚ŗピãƒŧã™ã‚‹å ´åˆã¨åŒã˜å•éĄŒã§ã™ã€‚
īŧˆdt2 <-dtīŧ‰ã€įĒį„ļ、元ぎdtがãĒぜ
あãĒたが2į•Ēį›Žã ã‘でäģ•äē‹ã‚’したときãĢ更新されぞした。

—
あãĒãŸãŒč¨€åŠã•ã‚ŒãŸãŽã§ã€ã‚ãĒたはこれを受け取ãŖãĻいぞす。
ã“ãŽãƒĄãƒŧãƒĢãĢį›´æŽĨčŋ”äŋĄã—、GitHubã§čĄ¨į¤ēしãĻください
https://github.com/Rdatatable/data.table/issues/1208#issuecomment -257801913、
ぞたぱãƒŦッドをミãƒĨãƒŧトしぞす
https://github.com/notifications/unsubscribe-auth/AC5xaxyWXkh4C7i5-GtjMFiQ0AY2L5BLks5q6EqIgaJpZM4FSJR5
。

ã‚ŗãƒĄãƒŗトとフã‚Ŗãƒŧドバックをありがとうございぞす。

ãĄã‚‡ãŖとしたことīŧˆäŊ•ã‹ãŒčļŗりãĒいかもしれぞせんīŧ‰īŧšã“ぎį‰šåŽšãŽã‚ąãƒŧ゚では、参į…§ãĢã‚ˆã‚‹å‰˛ã‚ŠåŊ“ãĻか値ãĢã‚ˆã‚‹å‰˛ã‚ŠåŊ“ãĻかãĢ違いはありぞせんかīŧŸ į§ãŸãĄãŒã‚„りたいぎは、data.table内ぎ1つīŧˆãžãŸã¯č¤‡æ•°ãŽåˆ—īŧ‰ã‚’更新することです。 ãƒĻãƒŧã‚ļãƒŧã¯ã€å¤ã„åˆ—ãŒãŠãĄã‚‰ãŽæ–šæŗ•ã§ã‚‚上書きされることをįŸĨãŖãĻいぞす。 čĒ¤č§ŖぎäŊ™åœ°ã¯ã‚りぞせんね。 寞į…§įš„ãĢ、これはDTa=DTbとDTa=copy(DTb) īŧˆã“ぎ抟čƒŊãƒĒクエ゚トではčĒŦ明しãĻいぞせんīŧ‰ã¨ã¯å¤§ããį•°ãĒりぞす。ここでは、data.tableč‡ĒäŊ“ã‚’å‡Ļį†ã—ぞす。参į…§ã§å‰˛ã‚ŠåŊ“ãĻã‚‹ã‹å€¤ã§å‰˛ã‚ŠåŊ“ãĻるかãĢ違いはありぞせん。

@ my-R-help、

あãĒたぎį›´æ„Ÿã¯æ­Ŗしいです。

こぎ操äŊœãŒãŠãŽã‚ˆã†ãĢ_原čŖ…_されるかはãƒĻãƒŧã‚ļãƒŧãĢ違いはありぞせん。 ãƒĻãƒŧã‚ļãƒŧぎčĻŗį‚šã‹ã‚‰ã¯ã€įĩæžœã¯åŒã˜ã§ã™ã€‚åˆ—ãŽå€¤ãŒå†å‰˛ã‚ŠåŊ“ãĻされぞす。 ã„ãã¤ã‹ãŽåˇŽåˆĨ化がåŋ…čĻã§ã‚るとčŋ°ãšãĻã„ã‚‹ã„ãã¤ã‹ãŽč­°čĢ–がありぞしたが、_į†į”ą_ãĢついãĻぎčĒŦ垗力ぎあるčĒŦ明はありぞせんでした。

%<>%æ§‹æ–‡ã‚’æŽĄį”¨ã™ã‚‹ã¨ã„うあãĒãŸãŽææĄˆã¯æ­Ŗしいもぎです。 原čŖ…が_interface_とはį•°ãĒることをæ­Ŗしくæƒŗ厚しãĻおり、操äŊœã‚’åŽŸčĄŒã™ã‚‹ãŸã‚ãŽä¸€čˆŦįš„でįžå­˜ã™ã‚‹æ…ŖčĄŒãŒã‚ã‚‹ãŸã‚ã€ãã‚Œã‚’æŽĄį”¨ã™ã‚‹åŋ…čĻãŒã‚りぞす。 原際、これはå„Ēれたã‚Ŋフトã‚Ļェã‚ĸč¨­č¨ˆæ‰‹æŗ•ãĢ垓いぞす。

īŧˆãĄãĒãŋãĢ、「ありがとうīŧˆSICīŧ‰ã€īŧ…īŧš>īŧ…はį§ãĢはäŧŧåˆã„ãžã™ã€ã¨č¨€ãŖたとき、į§ã¯å°‘しがãŖかりしぞした。最初ぎį›´æ„Ÿã¨ææĄˆã‚’ã‚‚ãŖとåŧˇãä¸ģåŧĩしぞせんでした。とãĢã‹ãã€ææĄˆãĢ感čŦã—ぞす。DTで原čŖ…されãĻいるかおうかはį´ æ™´ã‚‰ã—いです。īŧ‰

クãƒĒã‚šãƒˆãƒ•ã‚Ąãƒŧ、おčŋ”äē‹ã‚りがとうございぞす。

明įĸēãĢするためãĢ、į§ã¯å€‹äēēįš„ãĢ%<>%をåĨŊãŋぞす。これは、magrittrとぎ整合性がéĢ˜ãã€å¤šããŽäēēがそれをäŊŋį”¨ã—ãĻいるようãĢčĻ‹ãˆã‚‹ãŸã‚ã§ã™ã€‚ ただし、data.table開į™ēč€…ãŒåˆĨぎæŧ”įŽ—子īŧˆ %:>% īŧ‰ã‚’åĨŊむ場合は、それをäŊŋį”¨ã™ã‚‹ã“ともできぞすīŧˆå€‹äēēįš„ãĢはmagrittrぎ斚æŗ•ã‚’åĨŊãŋぞすがīŧ‰ã€‚

多分į§ã¯ãã‚Œã‚’そぎようãĢ襨įžã™ãšãã ãŖた。 æˇˇäšąã‚’æ‹›ã„ãŸå ´åˆã¯į”ŗしč¨ŗありぞせん。

ãƒĻãƒŧã‚ļãƒŧã¯ã€å¤ã„åˆ—ãŒãŠãĄã‚‰ãŽæ–šæŗ•ã§ã‚‚上書きされることをįŸĨãŖãĻいぞす。 čĒ¤č§ŖぎäŊ™åœ°ã¯ã‚りぞせんね。

こぎ操äŊœãŽåŽŸčŖ…æ–šæŗ•ãĢ違いはありぞせん。 ãƒĻãƒŧã‚ļãƒŧぎčĻŗį‚šã‹ã‚‰ã¯ã€įĩæžœã¯åŒã˜ã§ã™ã€‚åˆ—ãŽå€¤ãŒå†å‰˛ã‚ŠåŊ“ãĻされぞす。

ジョイãƒŗäģ˜ããŽãƒ•ãƒƒãƒˆã‚ŦãƒŗぎäŊ™åœ°ã¯ãžã ã‚ると思いぞす。

同じ名前ぎ副äŊœį”¨ã§2äēēぎæŧ”įŽ—子ぎ動äŊœãŒå°‘しį•°ãĒると、エナãƒŧがį™ēį”Ÿã—やすくãĒã‚Šã€æˇˇäšąã‚’æ‹›ããžã™ã€‚ それäģĨä¸ŠãŽč­°čĢ–ã¯ã§ããžã›ã‚“ãŒã€ãƒ‘ãƒƒã‚ąãƒŧジがåŸēæœŦé–ĸæ•°ã‚’ãƒžã‚šã‚¯ã™ã‚‹ã¨ãã€ãžãŸã¯ãƒ‘ãƒƒã‚ąãƒŧジをロãƒŧドするときãĢåˆĨãŽãƒ‘ãƒƒã‚ąãƒŧジé–ĸ数をã‚ĒãƒŧバãƒŧロãƒŧドするときãĢRがč­Ļ告するぎãĢはį†į”ąãŒã‚りぞす。

į§ãŽæ„čĻ‹ã§ã¯ã€å‰¯äŊœį”¨ãŒį•°ãĒる場合、少ãĒくとも一部ぎãƒĻãƒŧã‚ļãƒŧがį‰šåŽšãŽã‚ĒペãƒŦãƒŧã‚ŋãƒŧを持つことは違いをį”Ÿãŋぞす。

_ボãƒŧナ゚_æŧ”įŽ—子を検į´ĸすると、ヘãƒĢプãĢ2つぎ選択č‚ĸがあるぎではãĒく、間違いãĒくDTペãƒŧジでč­Ļ告/åˆļ限をčĒŦ明することãĢãĒりぞす。

ここでは、ãƒĻãƒŧã‚ļãƒŧイãƒŗã‚ŋãƒŧフェイ゚ではãĒãč¨€čĒžãĢついãĻčŠąã—ãĻいぞすが、最įĩ‚įš„ãĒã‚Ŋフトã‚Ļェã‚ĸãƒĻãƒŧã‚ļãƒŧはXボã‚ŋãƒŗãŽčƒŒåžŒãĢある原čŖ…ã‚’æ°—ãĢしãĒいことãĢ同意しぞすが、プログナマãƒŧはé–ĸæ•°ãŽčƒŒåžŒãĢある原čŖ…ã‚’æ°—ãĢしãĒいことãĢ同意しぞす。

ä¸ģãĒ反寞意čĻ‹ã¯æŦĄãŽã¨ãŠã‚Šã§ã™ã€‚ %<>%がDTぎ外部と同じようãĢ動äŊœã™ã‚‹ã¨č€ƒãˆãĻいるäēēは、意å›ŗしãĒいときãĢDTåˆ—ã‚’å‚ˇã¤ã‘ã‚‹ã¨ã€é ­ãŒãŠã‹ã—ããĒりぞす。

TL; DRīŧšãƒ—ログナミãƒŗグはUXではありぞせん。åŋ…čĻãĒã‚‚ãŽã‚’å…ˇäŊ“įš„ãĢ指厚するåŋ…čĻãŒã‚るため、よくįŸĨられãĻいる名前を再刊į”¨ã™ã‚‹ã“とはできぞせん。

@テãƒŗã‚ˇãƒã‚¤ã€

副äŊœį”¨ãŒãŠã†ã„うわけかį•°ãĒるというä¸ģåŧĩはį–‘わしいです。 ã„ãšã‚ŒãŽå ´åˆã‚‚ã€å¤‰æ•°ãŽå†å‰˛ã‚ŠåŊ“ãĻãŒåŽŸčĄŒã•ã‚ŒãĻいぞす。 ãã‚Œã‚‰ã¯ä¸Ąæ–šã¨ã‚‚å‰¯äŊœį”¨ã§ã™ã€‚ ä¸Ąæ–šãŽã‚ˇã‚šãƒ†ãƒ ãŽæ¯”čŧƒæœ€įĩ‚įŠļæ…‹ãŒéĄžäŧŧした斚æŗ•ã§å¤‰æ›´ã•ã‚ŒãŸãŸã‚ã€åŽŸčŖ…īŧˆå‚į…§ãžãŸã¯å€¤ãĢよるīŧ‰ã¯ã“れらをįœŸãĢåŒēåˆĨしぞせん。

副äŊœį”¨ãŒį•°ãĒãŖãĻいãĻも。 åŒēåˆĨはかãĒり重čĻã§ã¯ã‚りぞせん。 こぎį‚šã¯ã€ä¸Šč¨˜ãŽč­°čĢ–でįš°ã‚Ščŋ”し提čĩˇã•ã‚ŒãĻきぞした。 åŒēåˆĨが重čĻã§ã‚る場合、それがãƒĻãƒŧã‚ļãƒŧãĢ違いをもたらす䞋を提䞛することが可čƒŊであるはずです。 æąē厚įš„ではãĒいがäē‹åŽŸãĢ反する䞋がãĒいことは、åŒēåˆĨがãĒいことをåŧˇãį¤ēしãĻいぞす。

ãĢé–ĸしãĻīŧš

åŋ…čĻãĒã‚‚ãŽã‚’å…ˇäŊ“įš„ãĢ指厚するåŋ…čĻãŒã‚るため、よくįŸĨられãĻいる名前を再刊į”¨ã™ã‚‹ã“とはできぞせん。

これは間違ãŖãĻいぞす。 一čˆŦįš„でよくįŸĨられãĻいる名前ぎ再刊į”¨ã¯ã€į™ēį”Ÿã™ã‚‹ã ã‘でãĒく、非常ãĢ一čˆŦįš„であり、å„Ēれたプログナミãƒŗグ手æŗ•ã¨čĻ‹ãĒされãĻいぞす。 これはポãƒĒãƒĸãƒŧフã‚Ŗã‚ēムとå‘ŧばれぞす。 į•°ãĒã‚‹æ–šæŗ•ã§åŽŸčŖ…ã•ã‚ŒãŸåŒã˜åå‰ãŽãƒĄã‚ŊッドをäŊŋį”¨ã™ã‚‹ã“とは厌全ãĢč¨ąåŽšã•ã‚Œãžã™ã€‚

person.speakīŧˆīŧ‰
"こんãĢãĄã¯ä¸–į•Œ"
dog.speakīŧˆīŧ‰
"æ¨Ēįŗ¸"

いずれぎ場合もspeakがäŊŋį”¨ã•ã‚Œãžã—た。 これはæ‚Ēいįŋ’æ…ŖですかīŧŸ いいえ。原際、ポãƒĒãƒĸãƒŧフã‚Ŗã‚ēãƒ ãŒæŽĄį”¨ã•ã‚ŒãĒい場合、それは惨äē‹ãĢãĒりぞす。 すずãĻぎé–ĸæ•°ã¨ãƒĄã‚ŊッドãĢはį‹Ŧč‡Ēぎ名前がありぞす。 これはã‚Ēãƒ–ã‚¸ã‚§ã‚¯ãƒˆæŒ‡å‘č¨€čĒžãĢåŸēãĨくかãĒり一čˆŦįš„ãĒ䞋ですが、Rも䞋外ではありぞせん。 RãĢは、同様ぎ斚æŗ•ã§æŠŸčƒŊするS3ãƒĄã‚ŊッドとジェネãƒĒックé–ĸ数がありぞす。

ããŽææĄˆīŧš

į§ã¯ã€ãƒ—ログナマãƒŧがé–ĸæ•°ãŽčƒŒåžŒãĢある原čŖ…ãĢついãĻ気ãĢするずきではãĒいことãĢ非常ãĢ同意しぞせん。

同様ãĢæŦ é™Ĩがあり、ãģとんおぎãƒĻãƒŧã‚ļãƒŧエク゚ペãƒĒエãƒŗã‚šãĢ反しãĻいぞす。 ãģとんおぎプログナマãƒŧは、おそらくäŊ•į™žã‚‚ぎé–ĸ数/ãƒĄã‚ŊッドをäŊŋį”¨ã—ぞす。 åŊŧらはåŊŧらぎ原čŖ…ぎčŠŗį´°ã‚’įŸĨらãĒくãĻもそうしぞす。 ãƒĻãƒŧã‚ļãƒŧは、é–ĸ数がåŊšįĢ‹ã¤ãŸã‚ãĢå…Ĩ力とå‡ē力/副äŊœį”¨ã‚’įŸĨるåŋ…čĻãŒã‚りぞすが、それがおぎようãĢそこãĢ到達するかはãģとんおぎ場合į„Ąé–ĸäŋ‚です。 įĸēかãĢ、ãƒĻãƒŧã‚ļãƒŧはé–ĸ数を垎čĒŋ整ぞたはデバッグするためãĢčŠŗį´°ã‚’įŸĨるåŋ…čĻãŒã‚る場合がありぞすが、これは非常ãĢå°‘æ•°ãŽã‚ąãƒŧ゚であるとä¸ģåŧĩすることができぞす。 ãƒĻãƒŧã‚ļãƒŧがすずãĻぎ抟čƒŊがすずãĻぎãƒŦベãƒĢでおぎようãĢ抟čƒŊするかをįŸĨるåŋ…čĻãŒã‚ãŖた世į•Œã‚’č€ƒãˆãĻãŋãĻください。 čĒįŸĨįš„č˛ čˇã¯č¨ˆã‚ŠįŸĨれぞせん。 複雑ãĒもぎをプログナミãƒŗグすることは不可čƒŊãĒäŊœæĨ­ã§ã™ã€‚ ãĢé–ĸしãĻīŧš

ã‚ĒペãƒŦãƒŧã‚ŋãƒŧを検į´ĸすると、ヘãƒĢプãĢ2つぎ選択č‚ĸがあるぎではãĒく、間違いãĒくč­Ļ告/åˆļ限をčĒŦ明するDTペãƒŧã‚¸ãŒčĄ¨į¤ēされぞす。

これは_ボãƒŧナ゚_ではありぞせんが、aīŧ‰æˇˇäšąã‚’招きīŧˆã“れは非常ãĢäēē気ぎあるmagrittrãƒ‘ãƒƒã‚ąãƒŧジ、exacltyとおぎようãĢį•°ãĒりぞすかīŧŸīŧ‰ã€bīŧ‰ãã‚‚そもčŋŊ加ぎ不čĻãĒドキãƒĨãƒĄãƒŗトぎåŋ…čĻæ€§ã‚’į”Ÿãŋå‡ēすことãĢよるč˛Ŧäģģです。 magrittr構文ぎ場合、DT開į™ēč€…ã¯æŦĄãŽã‚ˆã†ãĢč¨€ã†ã“ã¨ãŒã§ããžã™ã€‚ã€Œãã“ãĢ行ãŖãĻドキãƒĨãƒĄãƒŗトとビネットをčĒ­ã‚“でください。DTã¯ãã“ã§čĄŒãŖãĻいることをã‚ĩポãƒŧトしãĻいぞす。」 ã“ãŽå”åŠ›ã¨ã‚¯ãƒ­ã‚šãƒ‘ãƒƒã‚ąãƒŧジ借å…Ĩは、DT、magrittr、およãŗRエã‚ŗã‚ˇã‚šãƒ†ãƒ ãŽäžĄå€¤ã‚’éĢ˜ã‚ãžã™ã€‚ īŧ‰ã€‚

最垌ãĢ、「ãƒĻãƒŧã‚ļãƒŧイãƒŗã‚ŋãƒŧフェイ゚」、「Xボã‚ŋãƒŗ」、「UX」ãĢé–ĸするã‚ŗãƒĄãƒŗトから、į‰šåŽšãŽUIが暗į¤ēされãĻいることが推æ¸Ŧされる場合がありぞす。 それは単ãĢそうではありぞせん。 そしãĻ、į§ãŸãĄãŒč¨€čĒžãĢついãĻčŠąã—ãĻいることは十分ãĢæ˜Žã‚‰ã‹ã§ã™ãŒã€ããŽč¨€čĒžãĢはイãƒŗã‚ŋãƒŧフェãƒŧ゚がæŦ ã‘ãĻã„ã‚‹ã¨č¨€ã†ãŽã¯čĒ¤ã‚Šã§ã™ã€‚ イãƒŗã‚ŋãƒŧフェイ゚はそぎ構文であり、重čĻã§ã™ã€‚

čĻį´„ã™ã‚‹ã¨ã€å•éĄŒã¯æœ€įĩ‚įš„ãĢč§Ŗæąēできぞす。

åŋ…čĻãĒぎは、æŦĄãŽįŋģč¨ŗをå‡Ļį†ã™ã‚‹ã“とだけです。

DT[, a %<:>% fun] ## or "%:>%"

DT[, a := fun(a)]

そうですかīŧŸ

aãŒã‚ˇãƒŗボãƒĢではãĒく文字変数である場合、おぎようãĢ動äŊœã™ã‚‹åŋ…čĻãŒã‚りぞすかīŧŸ

DT[, "a" %<:>% fun]

DT[, "a" := fun(a)]   ## this?
DT[, "a" := fun("a")] ## or this?

ããŽé•ˇã•ãŒ1でãĒい場合はおうãĒりぞすかīŧŸ

DT[, c("a","b") %<:>% fun]

DT[, c("a","b") %<:>% fun(a, b)]
DT[, c("a","b") %<:>% fun("a","b")]
DT[, c("a","b") %<:>% lapply(list(a, b), fun)]
DT[, c("a","b") %<:>% lapply(c("a", "b"), fun)]

個äēēįš„ãĢč¨€ãˆã°ã€ã‹ãĒã‚Šč¤‡é›‘ãĢãĒã‚Šã€æ–°ã—ã„å•éĄŒã‚’č§ŖæąēできãĒいため、äŋŽæ­ŖされãĒいぎで閉じぞす。
į§ã¯ãã‚ŒãĢついãĻ合意しãĻいるぎで、æœŦåŊ“ãĢåŋ…čĻãĒ場合はいつでも再開することができぞす。

こぎペãƒŧジはåŊšãĢįĢ‹ãĄãžã—たかīŧŸ
0 / 5 - 0 評価