v1.9.8
äºå®
i.col
䜿çšç¶æ³ãææžåããŸãã dïŒïŒ1232ã®ããã©ãŒãã³ã¹/å©ç¹ã«ã€ããŠã説æããŸããget()
ãšmget()
ã«ããŒããŸããå°æ¥ã®ãªãªãŒã¹
fread
+ rbindlist
ïŒãé åºä»ããã©ã³ã¯ä»ããããã³èšå®æäœdata.table()
ãšdata.frame()
ã®éããã©ããã«ææžåããŸã-é¢é£ããåé¡ïŒïŒ968ãïŒ877ã ãããããFAQã§ããå°ã詳ãã説æããŸããdata.table
䜿çšæ³ïŒfread+fwrite
ããããã fread wikiã®httpsïŒ//github.com/Rdatatable/data.table/issues/2855çµäºããïŒ
i
ãµãã»ããè¡j
䜿çšããŠéèšby
ãi
ãšby
ã䜿çšïŒby=.EACHI
SOã§integer64
ãããã_倧ããªæŽæ°_ã«ããã¢ãŒãããæäœã泚ïŒãã£ãŒãããã¯ã«åºã¥ããŠçŸåšã®ãããããæŽæ°ããããïŒïŒäœãèŠèœãšãããã£ãå Žåã¯ãç¥ãããã ããã
order
i
ãj
åã«ååãä»ããæ¹æ³ã説æããŸãã[x] .SDcols
æ°ããæŽæ°ãšwith=FALSE
åã«èšåããåãcolA:colB
ãšããŠéžæã§ããããã«ããŸãã
[]ä»ã®ãã¹ãŠã®é¢é£ããset*
é¢æ°ãããã§èª¬æããŸããïŒ setnames
ã setcolorder
ãªã©ïŒ
set
ã[x] 1b) the := operator
ã¯ãããã䜿çšããæ¹æ³ãå®çŸ©ããŠããã ãã§ããããšã説æããŸã-ãã®äŸã¯ã2ã€ã®ç°ãªã䜿çšæ¹æ³ã瀺ããŠããã ããªã®ã§ãæ©èœããŸãã-ãã®ã³ã¡ã³ãã«åŸã£
[]æŽæ°/äºéããŒã䜿çšãããµãã»ããã®äŸãè¿œå ããŸãã
[] NAããã€ããªæ€çŽ¢ããŒã¹ã®ãµãã»ããã«çœ®ãæããããšã¯å¯èœã§ããïŒ
[x]ããšãã°ã readRDS()
ã䜿çšããŠããã¡ã€ã«ããRãªããžã§ã¯ããèªã¿åããšãã«å€éšãã€ã³ã¿ãŒãNULLã«ãªãåé¡ã«ã€ããŠãFAQãæŽæ°ããŸãã ãã®SOæçš¿ãæŽæ°ããŸãã
alloc.col()
ã䜿çšããŠdata.tableãéå°ã«å²ãåœãŠãæ¹æ³ãšãããããã€äœ¿çšãããïŒè€æ°ã®åãäœæããå¿
èŠãããå ŽåïŒãããã³ãã®çç±ãäŸãæããŠèª¬æããŸãã ãã®SOæçš¿ãæŽæ°ããŸããfread
ã¯èšåãã䟡å€ãæãå°ãªãã§ãã
äžèšã®ãã€ã³ãã¯äž»ã«ããŒã¿å€æã«é¢é£ããŠããŸãã fread
ã¯ããŒã¿æœåºã§ããããããã®ãããªããããã§ã¯ã¹ããããããå¯èœæ§ããããŸãããIMOã§ã¯ãã®ãããªdata.table
æ©èœã«ã€ããŠèšåãã䟡å€ããããŸãã
ç·šéïŒã©ã¡ãã䜿çšããŸããïŒRnwãŸãã¯RmdïŒ
åæããæŽæ°ããŸããã
tapply
ãšèšãããããäœã颚éªãã²ãã®ãç¥ãããã§ãã çãã®äžéšã¯gforceã§ããããŠãŒã¶ãŒãäœæããé¢æ°ã«ã€ããŠã¯ã©ãã§ããããã ããã«ã€ããŠã¯äœãèŠã€ãããŸããã§ããã ãã³ãã«ã€ããŠã®çŽ æµãªæçš¿ããããŸãïŒ //wesmckinney.com/blog/ïŒ p
sapply
ãšæ¯èŒããããšãã§ããŸãã ããšãã°ããã¯ãã«ã®ãªã¹ãããå§ãããšããŸãã data.tableã®1ã€ã®åã«ãã¹ãŠã®ãã¯ãã«ãè¿œå ãã by
代ããã«sapply
by
ã䜿çšãã䟡å€ã¯ãããŸããïŒ
@matthieugomezèå³æ·±ã質åïŒ ãããã«ããŒãããšããã§ãããã æ¥ãŠãã ãã:-)ã
IDateTimeãšãã®ãŠãŒã¹ã±ãŒã¹ã®ããã€ãã«ã€ããŠç¥ããããšæããŸãã
@gseeãæŽæ°ãããŸããã
Rãšdata.tableïŒ3æ以éïŒã¯åããŠãªã®ã§ãçŸåšã®é¢æ°æåã§ã¯ãªããåºæ¬çãªçµææåã®å°å ¥ãå¿ èŠã ãšæããŸãã èšãæãããšãdata.tableã®åãã©ã¡ãŒã¿ãŒã®æ©èœãèªã¿åãããšã¯1ã€ã®ããšã§ããããŠãŒã¹ã±ãŒã¹ãèæ ®ããªããšã»ãšãã©æå³ããªãããšããããããŸãã åºåã®äŸã¯ãããŸãããå€ãã®äººã¯å察ã®æ¹åã«é²ãå¿ èŠããããŸãã ã€ãŸããå¿ èŠãªåºåã¯ããã£ãŠããŸããã䜿çšããã®ã«æãé©åãªé¢æ°/ãã©ã¡ãŒã¿ãŒ/èšå®ã¯ããããŸããã ããããå§ããããã®ç°¡åãªã¬ã·ãã¢ãããŒãããããšåœ¹ã«ç«ã¡ãŸãã
ããŒã¿ã®ãµãã»ãããäœæããã«ã¯ã©ãããã°ããã§ããïŒ
ããŒã¿ã®ãµãã»ãããæäœããŠãæ°ããããŒã¿ã»ãããŸãã¯æŽæ°ãããããŒã¿ã»ãããäœæããã«ã¯ã©ãããã°ããã§ããïŒ
æ°ããåãè¿œå ããã«ã¯ã©ãããã°ããã§ããïŒ
åãåé€ããã«ã¯ã©ãããã°ããã§ããïŒ
åäžã®å€æ°ãäœæããã«ã¯ã©ãããã°ããã§ããïŒ
è€æ°ã®å€æ°ãäœæããã«ã¯ã©ãããã°ããã§ããïŒ
ããŒã¿ã®ç°ãªããµãã»ããã«å¯ŸããŠç°ãªãæäœãè¡ãã«ã¯ã©ãããã°ããã§ããïŒ ïŒãã«ïŒ
é¢æ°ã§data.tableã䜿çšããæäœããdata.tableã®ååãšåãæž¡ãã«ã¯ã©ãããã°ããã§ããïŒ
åãdata.tableã«å¯ŸããŠè€æ°ã®é 次æäœãè¡ãã«ã¯ã©ãããã°ããã§ããïŒ
ããŒã¿ã®ãµãã»ãããéžæããåæã«æäœãå®è¡ã§ããŸããïŒ
åç
§ã«ããå€æ°ã®äœæ/æŽæ°ã«æ³šæããå¿
èŠãããã®ã¯ãã€ã§ããïŒ
ã°ã«ãŒãããšã«1ã€ã®èŠ³æž¬å€ïŒæåãæåŸïŒãéžæããã«ã¯ã©ãããã°ããã§ããïŒ
ããŒãèšå®ããã«ã¯ã©ãããã°ããã§ããïŒãŸããã€ã³ããã¯ã¹ãèšå®ããå Žåãšã©ã®ããã«ç°ãªããŸããïŒ
data.tableã§æäœãè¡ããšãã©ã®ãããªæ¡ä»¶äžã§ããŒãåé€ãããŸããïŒ
éåžžã®ãããŒãžãæ§æã䜿çšã§ããŸããããããšãdata.tableæ§æïŒY [X]ïŒã䜿çšããå¿
èŠããããŸããïŒ
ãªã¹ãã®ãªã¹ãã1ã€ã®ããã°ããŒã¿ããŒãã«ã«ãŸãšããã«ã¯ã©ãããã°ããã§ããïŒ åã®é åºãç°ãªãå Žåã¯ã©ããªããŸããïŒ
質åãšåçã®ç°¡åãªç·šéã«ç·šéã§ããSOã«ã¯ãããããä»ã«ãããããã®é ç®ããããŸãã
@markdaneseãææ¡ããããšãããããŸãã ãããã¯ãã¹ãŠæã£ãŠããã®ã¯çŽ æŽãããã§ãããç¹å®ã®ã¿ã¹ã¯ã«éåžžã«ãã ãã£ãŠããã®ã§ãããããå¥ã®wikiãšããŠã§ãã ããããã®ç®çã¯ããããã®ã¿ã¹ã¯ãèªåã§å®è¡ã§ããããã«ãããŒã¿ãã©ãã»ã©æè»ã§åŒ·åã§ãããã瀺ãdata.tableæ§æã玹ä»ããããšã§ãã
ç§ã¯ä»ãããããïŒã§ããã ãéãïŒæžããŠããŸãããããŠãã©ãŒãããã¯å€ããå°ãªãããã®æ¹æ³ïŒQïŒAïŒã§ãããäŸã§çãã説æããŠããŸãã æåã®ããããã磚ããããããã«æçš¿ããŠãã£ãŒãããã¯ãåŸãã€ããã§ããããªãã®èããç¥ã£ãŠãããšããã§ãããã
å床ãæè¬ããŸãã
wikiããŒãžã®ã¢ã€ãã¢ã®ãããªãæ¡åŒµïŒ httpïŒ //www.ats.ucla.edu/stat/r/ã«ãªã¹ããããŠããFAQããã³ã³ãŒããã©ã°ã¡ã³ãïŒè©³çŽ°ïŒãªã³ã¯ã¯ãRã®åŸæ¥ã®ã¿ã¹ã¯ãããŒã¿ãšå¯Ÿæ¯ããããã®æçšãªãªãœãŒã¹ã§ããå¯èœæ§ããããŸãã .tablewayã ããã°æçš¿ïŒhttp://vijaylulla.com/wp/2014/11/12/grouping-in-r-using-data-table/ïŒã§ãã®ãããªããšãããŠãååã«èŠããŸããã æ¥ç¥ãããªèªå·±å®£äŒã§ããããªããã
_data.table_ããããã®æŠèŠãçµäºããŸããïŒäžã®ãªã³ã¯ãåç §ïŒã ããªããã©ãæãããç¥ãããšã¯çŽ æŽãããããšã§ãã
çŽ æŽããããã£ãŒãããã¯ãããã@jangoreckiãš@brodieG ããããŠãã¡ãã@mattdowleã«æè¬ããŸã:-)ã
ããã¯æ¬åœã«çŽ æŽãããã§ãã 1幎åã«data.tableã䜿ãå§ãããšãã«ååšããŠãããããã®ã«ãšæããŸãã ããªãã®èæ
®ã®ããã«ä»¥äžã®ããã€ãã®å°ããªããšïŒ
æåŸã«ãèŠçŽã®i
ã§ïŒ order
ãä»ããŠïŒäžŠã¹æ¿ããããšãã§ããããšãèšåããããšããå§ãããŸãã ãŸããæåã«ããã«ã€ããŠèšåããããšãã§ããŸãã ãŸããã«ããŒãããŠããªãããŒãå«ãi
ã§å®è¡ã§ããããé«åºŠãªçµåãããããšã«ãèšåã§ããŸãã ããã«ããã i
ã®äž»ãªæ©èœã«ã€ããŠèšåã§ãããããèªè
ã¯å¿
èŠã«å¿ããŠããé«åºŠãªæ©èœãæ¢ãããšãã§ããŸãã ãããŠãåŸã§ãããã«ãã€ããŒãªã³ã¯ããããšãã§ããŸãã
.SDã»ã¯ã·ã§ã³ã«ããã®ã°ã«ãŒãããšèšè¿°ããŸãããããã®ã°ã«ãŒãã¯by
ã䜿çšããŠå®çŸ©ãããŠããŸãããšèšãæ¹ãæ確ãªå ŽåããããŸãã ãããå°ãåŸã§è¡ãããŸãã
ç§ã¯ãããèŠéãããããããŸãããã .SD
ãšby
åºæ¬çã«ããŒã¿ã.SDåã«å¶éããããŒã¿ã®ã»ãããäœæããããšãããå°ãæ確ã«ãããšããã§ãããã by
å
ã®å€æ°ã®ããããã®äžæã®çµã¿åããã ãã®åŸã®ããã«ãããã®data.tablesãåŠçby
ããæ©èœïŒè€æ°å¯ïŒã䜿çšããŠãå€æ°j
ã ãã®åŠçã®äžéšãšããŠçæãããã€ã³ããã¯ã¹ã®äžéšã«ãŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ããããã«ããç¹å¥ãªèšå·ããããããããã¯å°å
¥ããããã®ç¯å²ãè¶
ããŠãããšèšãããšãã§ããŸãã
ç¹°ãè¿ããŸããããããã¯åãªãææ¡ã§ãã ããªãã®ããŒãã¯ãŒã¯ïŒãããŠãããã®ïŒã¯å€§ãã«æè¬ãããŸãã
18:22æåã2015幎1æ17æ¥ã«ã¯ãããŒã¯Danese [email protected]
æžããŸããïŒ
ããã¯æ¬åœã«çŽ æŽãããã§ãã 1幎åã«äœ¿ãå§ãããšãã«ååšããŠãããããã®ã«
ããŒã¿è¡šã ããªãã®èæ ®ã®ããã«ä»¥äžã®ããã€ãã®å°ããªããšïŒããããšãããããŸããã
ããªãã¯ããªããããªãã®äžã§iã§ïŒæ³šæãä»ããŠïŒãœãŒãã§ããããšãèšåããããããããŸãã
æåŸã«èŠçŽã ãŸããæåã«ããã«ã€ããŠèšåããããšãã§ããŸããããã¹ãããïŒ çŽ æŽããããã€ã³ãã æåã«ãorderïŒ..ïŒããè¿œå ãã
èŠçŽã«ãè¿œå ãããŸãããŸããããæŽç·Žãããçµåãå¯èœã§ãããšèšãããšãã§ããŸã
ã«ããŒãããŠããªãããŒãå«ãiã§è¡ãããŸãã ããã¯ããªããèšåããããšãå¯èœã«ããŸã
èªè ãããé«åºŠãªãã®ãæ¢ãããšãã§ããããã«iã®äž»ãªæ©èœ
å¿ èŠã«å¿ããŠæ©èœããŸããããã§ãã
ãããŠãåŸã§ãããã«ãã€ããŒãªã³ã¯ããããšãã§ããŸãã
ããã¯ãç§ã«ã¯ããããŸããããããã¯CRANã«ããã·ã¥ãããããšãæå³ããŠãããããåæ§ã«
WIKIã§...SDã»ã¯ã·ã§ã³ã§ã¯ãããã®ã°ã«ãŒãããšèšè¿°ããŸããã
ãã«ãã£ãŠå®çŸ©ããããã®ã°ã«ãŒãããšèšããŸãã ãããå°ãåŸã§è¡ãããŸã
è¯ããç§ã¯ããããçŸåšã®ã°ã«ãŒããã«ç·šéãããšæã£ãããã©ãããããã§ã¯ãªãã£ãã
by
"ã§äœ¿çšããŠå®çŸ©ãããçŸåšã®ã°ã«ãŒã-ããã¯ã©ã®ããã«èãããŸããïŒç§ã¯ãããèŠéãããããããŸããããããå°ãæ確ã«ããã»ããããã§ããã
ãã®.SDã¯ãåºæ¬çã«ããŒã¿ã.SDåã«å¶éããŠãã
å€æ°ã®äžæã®çµã¿åããããšã«data.tablesã®ã»ãããäœæããŸã
ã§ã 次ã«ããããã®data.tablesãbyã®é åºã§åŠçããŸã
jã®é¢æ°ã䜿çšããå€æ°ãç§ã¯ããªãããããéãããšæããŸãã .SDãååšãããããã¯åŒçšç¬Šã®çäžã«ãããŸã
説æïŒã»ã¯ã·ã§ã³2eïŒã ãããŠããã¯ããªããããã§èšåããããšãæ£ç¢ºã«èª¬æããŠããŸã...ãŠãŒã¶ãŒãã§ããç¹å¥ãªèšå·ãããããšã«ãèšåã§ããŸã
ãã®åŠçã®äžéšãšããŠçæãããã€ã³ããã¯ã¹ã®äžéšã«ã¢ã¯ã»ã¹ããŸããã
ãããã¯çŽ¹ä»ããããã®ç¯å²ãè¶ ããŠããŸããããã§ã..ãããä»ã®ç¹å¥ãªèšå·ãå°å ¥ããªãçç±ã§ãã
ç¹°ãè¿ããŸããããããã¯åãªãææ¡ã§ãã ããªãã®ããŒãã¯ãŒã¯ïŒãããŠãããã®ïŒã¯å€§ãã«
æè¬ãçŽ æŽãããææ¡ã ä»ã®ãããããã¢ããããŒãããããè¿ä¿¡ããŸãã
â
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/Rdatatable/data.table/issues/944#issuecomment -70375167
ã
ããã¯ãç§ã«ã¯ããããŸããããããã¯CRANã«ããã·ã¥ãããããšãæå³ããŠãããããåæ§ã«
WIKIã§..
vignettes
ãã£ã¬ã¯ããªã«Rmd
ãå«ãããã±ãŒãžãCRANã«ããã·ã¥ãããšããã«ããããããæåãããã©ããã確èªããããã«èªåçã«ãã«ããããŸãããCRANã®ãœãŒã¹ã³ãŒãã«ã¯ãã«ãã£ãŠãã«ããããããããïŒhtmlïŒãå«ãŸããŸããããªãã§ã¯ãªããCRANãã«ã/ãã§ãã¯ããã®ãã®ã§ã¯ãããŸããã
CRANã¯ããããã«é©ããå Žæã§ãããå€ãã®ãŠãŒã¶ãŒã«ãšã£ãŠãããã¥ã¡ã³ã/ãã¥ãŒããªã¢ã«ãæ¢ãæåã®å Žæã§ãããããCRANã«å«ãã䟡å€ããããšæããŸãã
ãããŠãåŸã§ãããã«ãã€ããŒãªã³ã¯ããããšãã§ããŸãã
ããã¯ãããããããŸããããããã¯CRANã«ããã·ã¥ãããããšãæå³ããŠãããããWIKIã§ãåæ§ã§ãã
åäžãã©ã«ãã®ãªã³ã¯ã¯CRANã§æ©èœããŸãããïŒ ç§ã¯å®éã«ã¯äœãèŒããŠããŸãããããã®ããããã¯çžå¯Ÿãªã³ã¯ã䜿çšããŠåããã©ã«ããŒå ã®ä»ã®è€æ°ã®ãã®ããªã³ã¯ããRããæ£åžžã«æ©èœããŸãïŒæããã«ãªã³ã¯ã¯Rããã®ãã®ã§ã¯ãããŸããããããã±ãŒãžãã€ã³ã¹ããŒã«ããŠãããããå®è¡ãããšããªã³ã¯ããªã³ã¯ãããŸãä»äºã
_ReferenceSemantics_ããããã§æŽæ°ãããŸããã
ãã®ãã¹ãŠãããŠãããŠããããšãã
ããããã§ã«ããŒãããã®ã«é¢ãããã1ã€ã®ææ¡-ç¬èªã®é¢æ°å ã§data.tableã䜿çšããŸãã ããã±ãŒãžãäœæããã®ã§ã¯ãªããããã€ãã®äžè¬çãªã¿ã¹ã¯ãèªååããããšããŠããŸãã ç§ãå®å šã«ç解ããŠããªãããã€ãã®ããªãã¯ããããŸãã ãŸãããã®ãããã¯ã«é¢ããæçš¿ãã©ããã«ããå Žåã¯ããªã³ã¯ãããã ããã°å¹žãã§ãã
æåŸã«ãã䟿å©ãªãã¹ã¿ãã¯ãªãŒããŒãããŒã®æçš¿ãäžèŠ§è¡šç€ºããããããã¯ãããããã«å«ããããªããããã¯ã«åœ¹ç«ã€å ŽåããããŸãã
ããã€ãã®ã©ã³ãã ãªèãã
2ã€ã®èãïŒ
ããããšãã
@arunsrinivasanããããèŠãããšããããŸããã§ããã å¥ã®ããã¯ããŒã¯
_Keysãšé«éãã€ããªæ€çŽ¢ããŒã¹ã®ãµãã»ãã_ããããã§æŽæ°ãããŸããã
éåžžã«çŽ æŽãããã ç§ã¯ãããã®ããããã倧奜ãã§ãã æ€èšã®ããã®ããã€ãã®ç°¡åãªã³ã¡ã³ãã
è¡åã䜿çšãããŠããªãå ŽåãããããåŒãç¶ãç®çã¯äœã§ããïŒ ãŸãã¯ãjã®ç¹å¥ãªæŒç®åïŒ.Nã.Iãªã©ïŒã«ãã£ãŠäœ¿çšãããŠããŸããïŒ data.tableã§äœ¿çšãããŠãããšæããŸãããã€ã³ããã¯ã¹ãšããŠã¯äœ¿çšãããŠããŸããã çªå·ä»ãã®è¡åã匷å¶ãããšããç®çã§ãç§ã¯ãã€ãæ··ä¹±ããŠããŸããã
2çªç®ã®ããŒã«ã®ã¿ã¢ã¯ã»ã¹ãããšãã«ãæåã®ããŒã§unique
ã䜿çšããã®
ãã¹ãŠã®ããŒãåŒçšããå¿ èŠããããŸããïŒ æ°å€ïŒæŽæ°ïŒã®ãã®ã§ãïŒ æ°å€ãããŒãšããŠäœ¿çšã§ããŸããïŒ æ³šæãã¹ãç¹ã¯ãããŸããïŒ
ããŒåã«NAãå«ãŸããŠããå Žåã¯ã©ããªããŸããïŒ ããããæ€çŽ¢ããŠçœ®ãæããããšãã§ããŸããïŒ24ã0ã«çœ®ãæããäŸã§è¡ã£ãããã«ïŒã
keyby
ã_output_ data.tableïŒãã®äŸã§ã¯ans
ïŒã«é©çšãããå
¥ådata.tableïŒãã®äŸã§ã¯flights
ïŒã«ã¯é©çšãããªãããšã説æãããšåœ¹ç«ã€å ŽåããããŸãã
ãã¯ãã«ãããŒã«æž¡ãããšã¯ã§ããŸããïŒ ã€ãŸããäžã®äŸã®i
ã§airport <- c("LGA", "JFK", "EWR")
ãäœæãã airport
çŽæ¥äœ¿çšã§ããŸããïŒ ããã¯ãããŒãžã®ããã«å¥ã®data.tableãæž¡ããšããã¢ã€ãã¢ãèšå®ããã®ã«åœ¹ç«ã€å ŽåããããŸãã
ã察å¿ãããïŒã察å¿ãããïŒã®ã¿ã€ããã¹ã ãorigin == "LGA" anddest == "TPA" `ã«å¯Ÿå¿ããè¡ã€ã³ããã¯ã¹ã¯ããŒããŒã¹ã®ãµãã»ããã䜿çšããŠååŸãããŸãããšæžããŠãããã¯ã¿ãŒã¹ãã£ã³ã»ã¯ã·ã§ã³ã«ãããã¯ãã£ãã¯ã®1ã€ããããŸããã
@markdaneseã«é¢ãã
2çªç®ã®ããŒã®ã¿ã«ã¢ã¯ã»ã¹ãããšãã«ãæåã®ããŒã§äžæã䜿çšããã®ã¯ãªãã§ããïŒ
flights[.(unique(origin), "MIA")]
ããè¯ã説æãææ¡ããããšãéåžžã«æ±ããŠããã®ãããããšãè€æ°åããŒã®ããè€éãªäœ¿çšæ³ã«æ°ä»ããŠããªãã®ãããããªãã
ããŒãc(origin, dest)
dest
å Žåã dest
ãã€ããªæ€çŽ¢ã䜿çšããã«ã¯c(dest, origin)
ãå¿
èŠã§ãã .(unique(origin), "MIA")
䜿çšãããšãããŒã®æåã®åã§äœ¿çšå¯èœãªãã¹ãŠã®å€ãæäŸãã次ã«2çªç®ã®åã«éžæå€ãæäŸããããšã«ããããã€ããªæ€çŽ¢ã䜿çšããŸãã
ããŒããéžæããåã®ã¿ã䜿çšããããã«æ¡åŒµããŸããã ç°¡åãªäŸãèŠãããšãç解ã«åœ¹ç«ã€ãããããŸããã å
éšdata.tableé¢æ°ã䜿çšããŠ/data.tableã»ã«ã³ããªããŒãšçµã¿åãããŠéçºããå Žåãã¡ã¢ãªäœ¿çšéãããã»ã©é©åã«ã¹ã±ãŒãªã³ã°ãããªããããç§ã®æ¡åŒµæ©èœãdata.tableãã¹ã¿ãŒã«PRããæºåãã§ããŠããŸããã
æ°å€ãããŒãšããŠäœ¿çšã§ããŸããïŒ
ããŒãšããŠæ°å€ã䜿çšã§ããŸããããã¯Keys and their properties
ã»ã¯ã·ã§ã³ã«èšèŒãããŠããŸãã
泚æãã¹ãç¹ã¯ãããŸããïŒ
確ãã§ã¯ãããŸãããã setNumericRounding
ã¯æ°åããŒã«åœ±é¿ããŸããããããã§èšåãã䟡å€ããããããããŸããã
ããŒåã«NAãå«ãŸããŠããå Žåã¯ã©ããªããŸããïŒ ããããæ€çŽ¢ããŠçœ®ãæããããšãã§ããŸãã
ã¯ãã is.na()
ã¯äºåæ¢çŽ¢ã䜿çšããããã«æé©åãããŠããŸãã data.table(a=c(1,NA_real_),b=c("a","b"),key="a")[.(NA_real_), .SD ,verbose=TRUE]
è©Šããã ãã
@arunsrinivasanã«ãã次ã®ã¿ã€ããã¹ããããŸãã
ã§äžèŽããvlauesãèŠã€ããŸã
Janã«æè¬ããŸã-ããã¯æ¬åœã«åœ¹ã«ç«ã¡ãŸãã ç§ã¯ãããã®è³ªåããæ°ãããŠãŒã¶ãŒãäœãèµ·ãã£ãŠããã®ããç解ããã®ãå©ããããã«ããããã§ç°¡åã«èšåã§ãããã®ãšããŠæäŸããŸããã ãããã¯ãããã¥ã¡ã³ããèªãã§ãããšãã«ïŒããªãæ°ãããŠãŒã¶ãŒãšããŠïŒé ã«æµ®ããã ãã®ã§ããã ç§ã¯å®éã«ã¯ã³ãŒãã«è²¢ç®ã§ããªãã®ã§ãããã¥ã¡ã³ããæäŒã£ãŠè²¢ç®ããããšæã£ãŠããŸãã
20:48æéã2015幎1æ23æ¥ã«ã¯ãããŒã¯Danese [email protected]
æžããŸããïŒ
éåžžã«çŽ æŽãããã ç§ã¯ãããã®ããããã倧奜ãã§ãã ããã€ãã®ç°¡åãªã³ã¡ã³ã
èæ ®ãè¡åã䜿çšãããŠããªãå ŽåãããããåŒãç¶ãç®çã¯äœã§ããïŒ ãŸãã¯
ãããã¯jã®ç¹å¥ãªæŒç®åïŒ.Nã.Iãªã©ïŒã«ãã£ãŠäœ¿çšãããŸããïŒ ç§ã¯åœŒããããšæã
data.tableã«ãã£ãŠäœ¿çšãããŸãããã€ã³ããã¯ã¹ãšããŠã¯äœ¿çšãããŸããã ç§ã¯ãã€ã
çªå·ä»ãã®è¡åã匷å¶ããç®çã§æ··ä¹±ããŠããŸããããŒãšãã®ããããã£ã®ããäžã«ããã»ã¯ã·ã§ã³1aã«ã¯ãããã«å¯ŸããçãããããŸãã
data.tablesã¯data.framesãã_ç¶æ¿_ããŸãã2çªç®ã®ããŒã®ã¿ã«ã¢ã¯ã»ã¹ãããšãã«ãæåã®ããŒã§äžæã䜿çšããã®ã¯ãªãã§ããïŒ ããããããã
ããã§ã¯ãããŸãããïŒåºåã«å€ãã®ç¹°ãè¿ãè¡ã衚瀺ãããŸãããïŒ ãã¶ãæãããªã
ããããããã§ãªãå Žåã«äœãèµ·ããããèšã/瀺ãããšã¯åœ¹ç«ã€ãããããŸããã
ç¹°ãè¿ããŸãããããã¯ãããã§äœãèµ·ãã£ãŠããã®ããã®çäžã§èª¬æãããŠããŸãã ç§
ç§ãåºç€ãç¯ããåã®ã»ã¯ã·ã§ã³ãåç
§ããŠãã ãã
ããã説æããŸãã
ãã¹ãŠã®ããŒãåŒçšããå¿ èŠããããŸããïŒ æ°å€ïŒæŽæ°ïŒã®ãã®ã§ãïŒ äœ¿çšã§ããŸãã
ããŒãšããŠã®æ°å€ïŒ 泚æãã¹ãç¹ã¯ãããŸããïŒ2Dã«æŽæ°åã䜿çšããäŸããããŸãã ç§ã¯ããããã£ããšæããŸãã
ååãªïŒããŒåã«NAãå«ãŸããŠããå Žåã¯ã©ããªããŸããïŒ ããããæ€çŽ¢ããŠçœ®ãæããããšãã§ããŸãã
ãããïŒ24ã0ã«çœ®ãæããäŸã§è¡ã£ãããã«ïŒããèŠç¹ãã ããããã¯ã¿ãŒã¹ãã£ã³ãšã®éãã§ãã ãããè¿œå ããããšããŸãã
keybyã_output_data.tableïŒ
ããªãã®äŸã§ã¯ansïŒã§ãããå ¥ådata.tableã§ã¯ãããŸããïŒ
äŸïŒããkeybyãã¯æåã®ããããã§ãã§ã«è°è«ãããŸããã ããããç§ã¯ããã
è¿œå ããããšãã§ããŸãããã¯ãã«ãããŒã«æž¡ãããšã¯ã§ããŸããïŒ èšãæããã°ãããªãã¯ç©ºæž¯ãäœãããšãã§ããŸãã
<-cïŒ "LGA"ã "JFK"ã "EWR"ïŒand useairportdirectly ini` in your example near
ããã ïŒ ããã¯ãå¥ã®ãã¹ãæž¡ããšããã¢ã€ãã¢ãèšå®ããã®ã«åœ¹ç«ã€å¯èœæ§ããããŸã
ããŒãžã®ããã®data.tableã次ã®ã»ã¯ã·ã§ã³ã®å 容ã ãããç§ãã¡ãçµåã«ç§»è¡ããæ¹æ³ã§ãã
ã察å¿ãããïŒã察å¿ãããïŒã®ã¿ã€ããã¹ã ããã¯ããã®1ã€ã¯
ãè¡ã€ã³ããã¯ã¹ããšæžããŠãããã¯ã¿ãŒã¹ãã£ã³ã»ã¯ã·ã§ã³ã«ãããŸãã
origin == "LGA" anddest ==â TPAâ `ã«å¯Ÿå¿ããããŒã䜿çšããŠååŸ
ããŒã¹ã®ãµãã»ããããããããšãã
â
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/Rdatatable/data.table/issues/944#issuecomment -71253738
ã
ãããã®ããããã®çŽ æŽãããä»äºïŒ
ç§ã®ã³ã¡ã³ãã¯é
ããŠãããããã§ã«åãäžããããŠããå¯èœæ§ããããŸãã
set
ã䜿çšããããŸããŸãª/ããè±å¯ãªæ¹æ³ã ãŸãã以äžããšã©ãŒãåŒãèµ·ããçç±ã®èª¬æãèŠããšããã§ãããïŒãããåç
§ïŒïŒfor (j in valCols)
set(dt_,
i = which(is.na(dt_[[j]])),
j = j,
value= as.numeric(originTable[[j]]))
ãŠã£ãã«ãªã·ã§ã€ããããããè¿œå ããŸããã
åªããæ©èœæ§ãšããããïŒ ããããšãã¢ã«ã³
ç«ã2015幎6æ23æ¥ã«ã¯ãåå21æ02ã¢ã«ã³[email protected]ã¯æžããŸããïŒ
Reshapeãããããè¿œå
https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-reshape.html
Wikihttps ïŒ//github.com/Rdatatable/data.table/wiki/Getting-startedãžãâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/Rdatatable/data.table/issues/944#issuecomment -114678716
ã
patterns
ç·ãããã§ãããã çŽ æŽããããããã
ãããã®ã³ãã³ãã䜿çšããã«ã¯ãreshape2ãããŒãããå¿ èŠã¯ãããŸãããïŒ ãããããªããããã¯èšåãããã¹ãã§ãã ç§ã¯ãã¯ã€ããããã³ã°ããšããã³ã°ããã¯ã€ããã«çŠç¹ãåœãŠãããšãæ¬åœã«å¥œãã§ãã ç§ã¯reshape2ã®æ§æã絶察ã«å«ãã§ãïŒããšãã°ããmake_wideãã¯ãdcastããããã¯ããã«æ確ã ãšæããŸãïŒã ãã®ãããã»ã¯ã·ã§ã³ããããŒããmeltingdata.tablesãããã³ãcastingdata.tablesããšã¯èšè¿°ããŸããã ããã¯ãreshape2ããã±ãŒãžã«ç²ŸéããŠãã人ã«ã®ã¿æå³ããããŸãã äžèšã®ããã«ããæ®éçãªããããŒïŒãé·ããã®ããåºããã®ãïŒããå§ãããããããŸããã
䟡å€ãããã®ã§ãããdata.tableãããŒããããã ãã®æ°ããRã»ãã·ã§ã³ã䜿çšããŠããããã®æåã®è¡ãå®è¡ããããšã¯ã§ããŸããã çç±ã¯ããããŸãããïŒã¢ãŒãã¯ãwbãã§ã¯ãªããwãã§ããå¿
èŠããããŸãïŒã
DT = fread("https://raw.githubusercontent.com/wiki/Rdatatable/data.table/data/melt_default.csv")
æ»ãå€Error in download.file(input, tt, mode = "wb") : unsupported URL scheme
ãã€ãã®ããã«ããããããŠãããŠããããšãã æ¬åœã«äŸ¿å©ã§ãã
@markdaneseçŽ æŽããããã£ãŒãããã¯ãããããšãã
reshape2
ã¯data.table v1.9.6
ããhttps
äžã®æ©èœfread
develã®ããŒãžã§ã³ã§å®è£
ãããŠããŸãã ãããã£ãŠã v1.9.4
ã䜿çšããŠãã®ã³ãŒãããŸã å®è¡ããããšã¯ã§ããŸããã æŽæ°ããããå°ãåŸ
ã¡ãŸã:-)ãå±ãŸããŠãããŠããããšãã
@jangorecki patterns()
ã¯ãšã¯ã¹ããŒããããŸããã 䜿çšæ³ã¯ãåã®éžæã«äœ¿çšããã[.data.table
ã :=
ã .SDcols
ãªã©ã«æ¡åŒµãããŸãã
以äžã®ããã®ããã¥ã¢ã«ã¯ãŸã @arunsrinivasan patterns
圹ç«ã€ãããããªãããšåãããã«ã®ããã®ãã®ããã:=
ã å€ãã®äººãïŒç§ãæãã«ïŒèªãã ã³ãŒããç解ããããã«?fun
ã䜿çšããŠããããã§ãã
_join_ããããã§ã¯ãdata.tableçµåã®å¯Ÿå¿ããSQLäŸãè¿œå ãã䟡å€ããããããããŸãããããããã°ãdbã®äººãç°¡åã«ããã¯ã¢ããã§ããããã«ãªããŸãã
察å¿ããSQLã¹ããŒãã¡ã³ãã®äŸã¯ãããšãã°SOã«ãããŸããããŒã¿ãã¬ãŒã ïŒå
éšãå€éšãå·Šãå³ïŒãçµåïŒããŒãžïŒããæ¹æ³ã¯ïŒ ã
ããã€ãã®ãé£æ°ããããããæã£ãŠããããšãã¯ãŒã«ã ãã-
data.table
Stata
ãŠãŒã¶ãŒã®å Žåã¯data.table
data.table
SQL
ãŠãŒã¶ãŒã®å Žåã¯data.table
data.table
Matlab
ãŠãŒã¶ãŒã®å Žåã¯data.table
data.table
Python
/ pandas
ãŠãŒã¶ãŒã®å Žåã¯dplyr
ãŠãŒã¶ãŒã®å Žåã§ãdata.table
ãªã©ãã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ãã®ããã§ããããšãã°ã¬ã察象ãšããŠããŸãã
Secondary indices and auto indexing
ãããããè¿œå ããŸããã ããã«ããããµãã»ãããã次ã®ããããã®çµåãžã®ã¹ã ãŒãºãªç§»è¡ãå¯èœã«ãªããŸãã
@arunsrinivasanã¯ã_indices_ã«é¢é£ããŠ_secondary_ã䜿çšããªãæ¹ãé©åã§ã¯ãããŸãããïŒ éèŠãª_keys_ã«äœ¿çšãããŸããã _index_ããŒãã³ã°ã«åãæ¿ãããšãåé·ã«ãªããŸãã
@jangorecki ãã»ã«ã³ããªãã¯ãããŒïŒãã©ã€ããªïŒãšã®é¢ä¿ã«åœ¹ç«ã€ãšæããŸãããããã次ã®ããã«ãªããŸãã
äºæ¬¡ãœãŒã
ããè¯ã説æã¯ãããŸããïŒ
ãããããã§ã«_index_åèªã䜿çšãããŠããã®ã§ã_secondarysorting_ãããèŠæ ããããŸã:)
ããã§ãããªãã¯ããããèªå玢åŒä»ãããšåä»ããã ãã§ããïŒ IMOã®ãäºæ¬¡ãœãŒããšèªåã€ã³ããã¯ã¹äœæãã¯ããæçã«æããŸã
ã€ã³ããã¯ã¹ã¯_auto_ã€ã³ããã¯ã¹ã®äœæãããã³æåã§äœæãããã€ã³ããã¯ã¹ã®äœ¿çšã«ãæ©èœããã¯ããªã®ã§ã_auto_ã¯ã©ãããããã誀解ãæãå¯èœæ§ããããŸã-ïŒ1422ã¯ãã®ç¹ã§çŸåšã®å¶éã«å¯ŸåŠããŸãã
åãããŸããã ç§ã¯ãŸã ããªãã®å¥œã¿ã®éžæè¢ãéããŠããŸã-ãã ãã€ã³ããã¯ã¹ãïŒ
å®å šã§ã¯ãããŸãããã_ã»ã«ã³ããªã€ã³ããã¯ã¹_ãããåªå ãããŸã
ç§ã¯ãã®ææ°ã®ããããããšãŠã奜ãã§ãã ç§ã®å¯äžã®èãã¯ãã©ã®ã¿ã€ãã®æäœãã€ã³ããã¯ã¹ãããããããã®ãã説æããããšã圹ç«ã€ãããããªããšããããšã§ããã ç§ã®ãã¹ããããè¡æ°ãã€ã³ããã¯ã¹ä»ãåã«é¢é£ããæäœãå€æŽãããã®ã¯ã»ãšãã©äœã§ãããããã§ãã
ããªã³ãã®äŸã¯æ¬åœã«åœ¹ã«ç«ã¡ãŸããã
@markdaneseè¯ãç¹ãè¿œå ããŸãã
v1.9.8ã®ãªãªãŒã¹ã§æŽæ°ããããããããããããšãããããŸãã
ãåç
§ã»ãã³ãã£ã¯ã¹ããšã¯ã copy()
é¢æ°ãšãæµ
ãã³ããŒãäœæããããã®ãã®æ°æ©èœïŒç¹ã«ãé¢æ°å
ã§ãç§ãæ¬åœã«èå³ãæã£ãŠãããã®ïŒãæããŸãã
ããã ãããã£ãŒãã³ããŒã§ã¯ãªãã·ã£ããŒã³ããŒã䜿çšããããšã§ããã®æ©èœãããã«æ¹åã§ããŸããå®éããã®æ©èœãv1.9.8ã«ãŸããããã«ã€ããŠã¯ãdata.tableãã¶ã€ã³ããããã§å床修æ£ããŸããã
ãããããã¶ã€ã³ãããããæ¬ èœããŠããããªã³ã¯ã¯å€ãåé¡ã瀺ããŠããŸãã ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«ã«ã¯ãããããã§æäŸãããŠãããã®ãããcopy()
ã«é¢ãã詳现æ
å ±ã¯èšèŒãããŠããŸããã æ®ãã®ããããã¯copy
ã«é¢ããæ
å ±ãæäŸããŸããã
ãã®ããããã¯ãŸããªãå©çšå¯èœã«ãªããŸããïŒ
å éšããããã®å Žåã¯+1ã ç§ïŒãããŠä»ã®ããã€ãã®äººãããã ãšæããŸãïŒã¯ãç©äºã®CåŽã«å°ãè²¢ç®ããããšã«éåžžã«èå³ããããŸãããïŒçŸç¶ã§ã¯ïŒ35kè¡ã®Cã³ãŒãã«å°ãæãã£ãŠããŸã...ããã ãã§ã-å éšã®çŽ¹ä»ã¯äžæè°ã«æããããããŸããïŒ
çµåããããã®å ŽåïŒ
ãã£ã€ã ã鳎ãããŠããããããžã®è²¢ç®ãã³ãŒã以å€ã®è²¢ç®è ïŒç§ã®ãããªïŒããåãå ¥ãããããã©ãããå°ãããã£ãã ç§ã¯æåã¯ããªãã®åé¡ãæ±ããŠããŠãStackoverflowã«é¢ããArunã®åçãã解決çã«å°ãããã®ã§ãjoinsããããã«è²¢ç®ããããšã«ç¹ã«èå³ããããŸããèš±å¯ãããŠããå Žåã¯ããã®æ¹æ³ã«ã€ããŠããã€ãã®ã¬ã€ãã³ã¹ãå¿ èŠã§ãã
@arunsrinivasanãã€ã³ãIDateTime vignette
ã§ãã ããããããã¯@jangoreckiã«ãã£ãŠææ¡ãããããäžè¬çãªããããã«å«ãŸããå¯èœæ§ããããŸãïŒããããïŒæç³»å-é åºä»ãããã芳枬ïŒ
ããã«ãç§ã¯janã«ãã£ãŠææ¡ãããããã€ãã®ãããã¯ã«é¢ããæåã®ãã©ãããæºåããŠããŸãã ããããããã®äžéšã¯çµåããââããã«ãé¢é£ããŠããå¯èœæ§ããããŸããïŒ èª°ããããã圹ã«ç«ã€ãšæããããããªããªãã°ãç§ã¯å ±æããŠããããã§ãã
@zeomalãã®ãããªè²¢ç®ã¯éåžžã«äŸ¡å€ããããéåžžã«é«ãè©äŸ¡ãããŸãïŒ
@MichaelChirico ãããããšãã @ Henrik-Pãéåžžã®çµåã«é¢ããç°¡åãªèª¬æã¯å æ¬çã§ããïŒã€ãŸããæç³»åã«çŠç¹ãåœãŠãŸããïŒ ããã§ãªãå Žåã¯ãäœæ¥ãéå§ã§ããŸããããŒãªã³ã°ãžã§ã€ã³ããŸã 䜿çšããŠããªããããç¥èããããŸããã :)
@zeomalããŸãããã°ãç§ã¯æåã®ãã©ãããããã«ã¢ããããŒãã§ããã®ã§ãããªãã¯ãããèŠãããšãã§ããŸãã ç§ã®ãã©ããã§ã¯ãäžèŽããªãè¡ãããåäžã®å€æ°timeã§ã®ãéåžžã®ãçµåã®ç°¡åãªäŸã瀺ããŸãã nomatch = NA
ã䜿çšããŸãã ïŒmaaaybeãnomatch = NULL
ç°¡åãªäŸã§ãïŒ
ç§ã®èãã¯ããã®åçŽãªçµåãåé¡ã®ã³ã³ããã¹ããšæèŠãæäŸã§ãããšãããã®ã§ããããã®åŸãããŒãªã³ã°çµåãšéçåŒçµåãªã©ã«é¢ãã次ã®ã»ã¯ã·ã§ã³ã§ããã培åºçã«æ±ããŸãã
è²¢ç®ããŠãããŠããããšãïŒ ã
ãããããæºåããªãããåèã«åå ããããšã«ã€ããŠè³ªåããããŸãã X[Y, new_col := old_col]
ã¯ã X
åŸæ¥ã®å·Šçµåãšåæ§ã®ããšãå®è¡ããŸãã ãã ãã X
å
ã®Y
ã®ããŒã«è€æ°ã®äžèŽãããå ŽåãããŒã®æåŸïŒãŸãã¯æåïŒïŒã®äžèŽå€ã®ã¿ãä¿æãããŸãã ããã¯ã©ããã«æ瀺çã«ææžåãããŠããŸããïŒ ç§ã¯ããã«ééãããšãã«ãããæ€çŽ¢ããããšããŸãããããã®çç±ãããåç
§ã«ããæŽæ°ã®ç解ã«é ŒããããåŸãŸããã§ããã åçŸå¯èœãªäŸãšããŠã
> X = data.table(a = c(1, 2, 3), m = c("a", "b", "c"))
> Y = data.table(b = c(1, 1, 4), n = c("x", "y", "z"))
> X[Y, new_col := i.n, on = "a == b"]
a m new_col
1: 1 a y
2: 2 b <NA>
3: 3 c <NA>
# an ideal left join - expected behaviour per a new user, given below
# not possible because updating row by reference isn't implemented
a m new_col
1: 1 a x
1: 1 a y
2: 2 b <NA>
3: 3 c <NA>
ããã¯äºæ³ãããåäœã§ãããæ°ãããŠãŒã¶ãŒã«ãšã£ãŠã¯å¿
ãããç°¡åã§ã¯ãããŸããã mult
ãåºåã«åœ±é¿ãäžããŸããã ãããã©ã®ããã«ææžåãããã«ã€ããŠã®ææ¡ã¯ãããŸããïŒ é©åãªå·Šçµåã®åé¿çãšããŠmerge
ãè¿œå ããŸããïŒ
@zeomalã¯ã代ããã«ïŒ2181å·ã«åå ããããã«é¢ããä»åŸã®è³ªåãæçš¿ããŠãã ããã ããã¯ããè¯ãå Žæã®ããã§ãã set
ãŸãã
@zeomaléåžžã®ïŒequiïŒçµåã§ã®ç§ã®æ±ããã©ãã»ã©çããã確èªãããå Žåã¯ãæç³»åããããã«PRãæçš¿ã