Data.table: рд╡рд┐рдЧрдиреЗрдЯреНрд╕

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рдирд╡ре░ 2014  ┬╖  54рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Rdatatable/data.table

HTML рд╡рд┐рдЧреНрдиреЗрдЯ рд╢реНрд░реГрдВрдЦрд▓рд╛:

v1.9.8 рд▓рд┐рдП рдирд┐рдпреЛрдЬрд┐рдд

  • [ ] рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рдХрд╛ рддреНрд╡рд░рд┐рдд рджреМрд░рд╛
  • [x] [рдХреБрдВрдЬреА рдФрд░ рддреЗрдЬрд╝ рдмрд╛рдЗрдирд░реА рдЦреЛрдЬ рдЖрдзрд╛рд░рд┐рдд рд╕рдмрд╕реЗрдЯ](https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-keys-fast-subset.html)
  • [x] [рд╕реЗрдХреЗрдВрдбрд░реА рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рдСрдЯреЛ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ](https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-secondary-indices-and-auto-indexing.html)
  • [ ] рд╢рдмреНрджрдЪрд┐рддреНрд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ ред a) _joins_ рдмрдирд╛рдо _subsets_ - рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рдЖрдзрд╛рд░рд┐рдд рд╕рдмрд╕реЗрдЯ рдХреЛ рдЬреЙрдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП + рдХрдВрдбреАрд╢рдирд▓ / рдиреЙрди-рдЗрдХреНрд╡рд┐ рдЬреЙрдЗрди, рд░реЛрд▓рд┐рдВрдЧ рдФрд░ рдЗрдВрдЯрд░рд╡рд▓ рдЬреЙрдЗрдиред b) by=.EACHI, рдЬреНрд╡рд╛рдЗрди + рдЕрдкрдбреЗрдЯ рдлреАрдЪрд░ред c) рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ i.col рдЙрдкрдпреЛрдЧ рдЬреИрд╕рд╛ рдХрд┐ #1038 рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред d) #1232 рд╕реЗ рдкреНрд░рджрд░реНрд╢рди/рдлрд╛рдпрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдХрд╡рд░ рдХрд░реЗрдВред
  • [ ] рдХрд╡рд░ get() рдФрд░ mget() ред
  • [ ] рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди (#1623) рдореЗрдВ on= рддрд░реНрдХ рддрд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
  • [ ] рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди 5.3 рдореЗрдВ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ _sallow_ рдкреНрд░рддрд┐ рд╣реИ рдЬреЛ рдЕрддрд┐-рдЖрд╡рдВрдЯрди рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕реЗ #1729 рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдирд╡рд░реА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред

рднрд╡рд┐рд╖реНрдп рдХреА рд░рд┐рд▓реАрдЬрд╝

  • [ ] data.table рдЖрдВрддрд░рд┐рдХ, рдкреНрд░рджрд░реНрд╢рди рдкрд╣рд▓реВ рдФрд░ _рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐_
  • [ ] рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рдкрдврд╝рдирд╛ ( fread + rbindlist ), рдЖрджреЗрд╢ рджреЗрдирд╛, рд░реИрдВрдХрд┐рдВрдЧ рдХрд░рдирд╛ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рд╕реЗрдЯ рдХрд░рдирд╛
  • [ ] IdateTime рд╡рд┐рдЧреНрдиреЗрдЯ
  • [ ] data.table() рдФрд░ data.frame() рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдХрд╣реАрдВ рдХрд╣реАрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░реЗрдВ - рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореБрджреНрджреЗ: #968, #877ред рдПрдлрдПрдХреНрдпреВ рдореЗрдВ рд╢рд╛рдпрдж рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗред
  • [ ] рдХреМрд░рд╕реЗрд░рд╛ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди
  • [ ] рдЙрдиреНрдирдд data.table рдЙрдкрдпреЛрдЧ:

    • [ ] рдПрдирдПрд╕рдИ

    • [] ...

  • [ ] рдЯрд╛рдЗрдорд┐рдВрдЧреНрд╕ рд╡рд┐рдЧреНрдиреЗрдЯ (рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ #520 рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдПрдХ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреЗрдВрдЪрдорд╛рд░реНрдХ/рд╕рдордп рдХреЗ рд╕рд╛рде рд╡рд┐рдХреА рд╣реИ)ред
  • [ ] fread+fwrite рд╡рд┐рдЧреНрдиреЗрдЯ, рдЗрд╕рдореЗрдВ рдлрд╝реНрд░реЗрдб рд╡рд┐рдХреА https://github.com/Rdatatable/data.table/issues/2855 рднреА

рдЦрд╝рддреНрдо рд╣реЛрдирд╛:

  • [x] [рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рдХрд╛ рдкрд░рд┐рдЪрдп](https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-intro-vignette.html) - рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк, i рдореЗрдВ рд╕рдмрд╕реЗрдЯ рдкрдВрдХреНрддрд┐рдпрд╛рдВ j рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХрддреНрд░рд┐рдд by ред
  • [x] [рд╕рдВрджрд░реНрдн рд╢рдмреНрджрд╛рд░реНрде](https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-reference-semantics.html) (_add/update/delete_ рдХреЙрд▓рдо рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛, рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдо рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ i рдФрд░ by рд╕рд╛рде рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА)
  • [x] [data.tables рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрд╢рд▓ рд░реАрд╢реЗрдкрд┐рдВрдЧ](https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-reshape.html)
  • [x] рдЗрд╕ рдЙрддреНрддрд░ рдХреЛ SO рдкрд░ by=.EACHI рдкрд░ рд▓рд┐рдВрдХ рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рд╡рд┐рдЧрдиреЗрдЯ рдкреВрд░рд╛ рди рд╣реЛ рдЬрд╛рдПред

рдЕрд╡рдпрд╕реНрдХ:

  • [ ] integer64 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЪрд╛рд▓рди, рдФрд░ _рдмрдбрд╝реЗ рдкреВрд░реНрдгрд╛рдВрдХ_ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдирд╛ред

рдиреЛрдЯреНрд╕ (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдЧрдиреЗрдЯреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП): рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭрд╕реЗ рдХреБрдЫ рдЫреВрдЯ рдЧрдпрд╛ рд╣реИ..

рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп:

  • [x] order рдореЗрдВ i ред
  • [x] рдЪрдпрди/рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп j рдореЗрдВ рдХреЙрд▓рдо рдХреЛ рдирд╛рдо рджреЗрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдПрдВред
  • [x] рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрдВ рдХрд┐ _keyby_ рдХреЛ рдкрд░рд┐рдХрд▓рд┐рдд рдкрд░рд┐рдгрд╛рдо рдкрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж _after_ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдореВрд▓ рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рдкрд░ред
  • [x] .SDcols рдирдП рдЕрдкрдбреЗрдЯ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ рдФрд░ with=FALSE рдореЗрдВ рдХреЙрд▓рдо рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг colA:colB ред

    рд╕рдВрджрд░реНрдн рд╢рдмреНрджрд╛рд░реНрде:

  • [ ] рдЕрдиреНрдп рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ set* рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рднреА рдпрд╣рд╛рдВ рд╕рдордЭрд╛рдПрдВ .. ( setnames , setcolorder рдЖрджрд┐ ..)

  • [ ] рдореБрдЦреНрдп рд░реВрдк рд╕реЗ set ред
  • [x] рд╕рдордЭрд╛рдПрдВ рдХрд┐ 1b) the := operator рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рд╡рд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ - рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рджред

    рдХреБрдВрдЬрд┐рдпрд╛рдБ рдФрд░ рддреЗрдЬрд╝ рдмрд╛рдЗрдирд░реА рдЦреЛрдЬ рдЖрдзрд╛рд░рд┐рдд рдЙрдкрд╕рдореБрдЪреНрдЪрдп:

  • [ ] рдкреВрд░реНрдгрд╛рдВрдХ/рджреЛрд╣рд░реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝реЗрдВред

  • [ ] рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рдЖрдзрд╛рд░рд┐рдд рд╕рдмрд╕реЗрдЯ рдореЗрдВ "рдиреЛрдореИрдЪ" рдбрд┐рдлреЙрд▓реНрдЯ рдореЗрдВ рдЕрдВрддрд░ред
  • [ ] рдПрдирдПрдПрд╕ рдХреЛ рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рдЖрдзрд╛рд░рд┐рдд рд╕рдмрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

    рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди (рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред

  • [x] рдлрд╝рд╛рдЗрд▓ рд╕реЗ R рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп рдмрд╛рд╣рд░реА рдкреЙрдЗрдВрдЯрд░ рдХреЗ NULL рд╣реЛрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, readRDS() ред рдЗрд╕ SO рдкреЛрд╕реНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ

  • [ ] alloc.col() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рдХреЛ рдУрд╡рд░ рдЖрдмрдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдордЭрд╛рдПрдВ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ (рдЬрдм рдЖрдкрдХреЛ рдХрдИ рдХреЙрд▓рдо рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ), рдФрд░ рдХреНрдпреЛрдВред рдЗрд╕ SO рдкреЛрд╕реНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ
documentation internals

рд╕рднреА 54 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fread рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рд▓рд╛рдпрдХ рдХрдо рд╕реЗ рдХрдо рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдмрд┐рдВрджреБ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, fread рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдирд┐рд╖реНрдХрд░реНрд╖рдг рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА IMO рдРрд╕реА data.table рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрдк рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: рдЖрд░рдПрдирдбрдмреНрд▓реНрдпреВ рдпрд╛ рдЖрд░рдПрдордбреА?

рд╕рд╣рдордд, рдФрд░ рдЕрджреНрдпрддрдиред

рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ tapply рдХрд╣рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╕рд░реНрджреА рдХреНрдпрд╛ рд╣реЛрддреА рд╣реИред рдЙрддреНрддрд░ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ gforce рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдкрд╛рдВрдбрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рдкреЛрд╕реНрдЯ рд╣реИ: http://wesmckinney.com/blog/?p=489
рдХреЛрдИ рдЗрд╕рдХреА рддреБрд▓рдирд╛ sapply рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореИрдВ рд╡реИрдХреНрдЯрд░ рдХреА рд╕реВрдЪреА рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдХрднреА рд▓рд╛рдпрдХ рдпрд╣ рдПрдХ data.table рдореЗрдВ рдПрдХ рд╕реНрддрдВрдн рдореЗрдВ рд╕рднреА рд╡реИрдХреНрдЯрд░ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ by рдХреЗ рдмрдЬрд╛рдп sapply ?

@matthieugomez рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓! рдЗрд╕реЗ рднреА рдХрд╡рд░ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд░рд╣реЗрдЧрд╛ред рд░рдЦреЛ рдФрд░ рдЖрдУ :-)ред

рдореБрдЭреЗ IDateTime рдФрд░ рдЗрд╕рдХреЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред

@gsee рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

R рдФрд░ data.table рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ (рдорд╛рд░реНрдЪ рд╕реЗ), рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдлрд╝рдВрдХреНрд╢рди-рдУрд░рд┐рдПрдВрдЯреЗрдб рдХреЗ рд╡рд┐рдкрд░реАрдд рдПрдХ рдореВрд▓ рдкрд░рд┐рдгрд╛рдо-рдЙрдиреНрдореБрдЦ рдкрд░рд┐рдЪрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рдкрдврд╝рдирд╛ рдПрдХ рдмрд╛рдд рд╣реИ рдХрд┐ рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗ рдмрд┐рдирд╛ рдмрд╣реБрдд рдХрдо рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдЬрдмрдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рджреВрд╕рд░реА рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрд╣реА рд╣реИ, рд╡реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреМрди рд╕рд╛ рдлрд╝рдВрдХреНрд╢рди/рдкреИрд░рд╛рдореАрдЯрд░/рд╕реЗрдЯрд┐рдВрдЧ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдиреБрд╕реНрдЦрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд░рдЦрдирд╛ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред

рдореИрдВ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХрд╛ рд╕рдмрд╕реЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдКрдВ?
рдореИрдВ рдПрдХ рдирдпрд╛ рдпрд╛ рдЕрджреНрдпрддрди рдбреЗрдЯрд╛ рд╕реЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рдмрд╕реЗрдЯ рдкрд░ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд░реВрдВ?
рдореИрдВ рдПрдХ рдирдпрд╛ рдХреЙрд▓рдо рдХреИрд╕реЗ рдЬреЛрдбрд╝реВрдВ?
рдореИрдВ рдПрдХ рдХреЙрд▓рдо рдХреИрд╕реЗ рд╣рдЯрд╛рдКрдВ?
рдореИрдВ рдПрдХ рдПрдХрд▓ рдЪрд░ рдХреИрд╕реЗ рдмрдирд╛рдКрдВ?
рдореИрдВ рдПрдХрд╛рдзрд┐рдХ рдЪрд░ рдХреИрд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ?
рдореИрдВ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдмрд╕реЗрдЯ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд░реВрдВ? (редрджреНрд╡рд╛рд░рд╛)
рдореИрдВ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ data.table рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реВрдВ рдФрд░ data.table рдирд╛рдо рдФрд░ рдХреЙрд▓рдо рдореЗрдВ рдкрд╛рд╕ рдХрд░реВрдВ рдЬрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ?
рдореИрдВ рдПрдХ рд╣реА data.table рдкрд░ рдПрдХрд╛рдзрд┐рдХ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреИрд╕реЗ рдХрд░реВрдВ?
рдХреНрдпрд╛ рдореИрдВ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рдЪреБрди рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЙрд╕реА рд╕рдордп рдЙрд╕ рдкрд░ рдПрдХ рдСрдкрд░реЗрд╢рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдЪрд░ рдмрдирд╛рдиреЗ/рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдХрдм рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдореИрдВ рдкреНрд░рддрд┐ рд╕рдореВрд╣ (рдкреНрд░рдердо, рдЕрдВрддрд┐рдо) рдПрдХ рдЕрд╡рд▓реЛрдХрди рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реВрдВ?
рдореИрдВ рдПрдХ рдХреБрдВрдЬреА рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реВрдВ рдФрд░ рдпрд╣ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ?
рдЬрдм рдореИрдВ рдЕрдкрдиреЗ data.table рдкрд░ рдХреЛрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХрд┐рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдореЗрд░реА рдХреБрдВрдЬреА рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ?
рдХреНрдпрд╛ рдореИрдВ рдирд┐рдпрдорд┐рдд "рдорд░реНрдЬ" рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ (рд╡рд╛рдИ [рдПрдХреНрд╕]) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдореИрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдПрдХ рдмрдбрд╝реЗ data.table рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░реВрдВ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЙрд▓рдо рдЕрд▓рдЧ рдХреНрд░рдо рдореЗрдВ рд╣реИрдВ?

рдПрд╕рдУ рдкрд░ рд╢рд╛рдпрдж рдХрдИ рдЕрдиреНрдп рдЖрдЗрдЯрдо рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рдЙрддреНрддрд░реЛрдВ рдХреЗ рд╕рд░рд▓ рд╕рдВрдХрд▓рди рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@markdanese рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпреЗ рд╕рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдХреА рдХреЗ рд░реВрдк рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВред рд╢рдмреНрджрдЪрд┐рддреНрд░ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп data.table рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдирд╛ рд╣реИ рдЬреЛ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рд▓рдЪреАрд▓рд╛ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХреЗрдВред

рдореИрдВ рдЕрдм рд╢рдмреНрджрдЪрд┐рддреНрд░ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ (рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ), рдФрд░ рдкреНрд░рд╛рд░реВрдк рдЗрд╕ рдлреИрд╢рди (рдкреНрд░рд╢реНрдиреЛрддреНрддрд░) рдореЗрдВ рдХрдореЛрдмреЗрд╢ рд╣реИ рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓рд╛ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдкреЙрд▓рд┐рд╢ рдХрд░ рд▓рд┐рдпрд╛, рддреЛ рдореИрдВ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ.. рдпрд╣ рдЬрд╛рдирдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рджред

рд╡рд┐рдХреА рдкреЗрдЬ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░: http://www.ats.ucla.edu/stat/r/ рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди рдФрд░ рдХреЛрдб рдЯреБрдХрдбрд╝реЗ (рдЙрдиреНрдирдд) рд▓рд┐рдВрдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЖрд░ рдореЗрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рдПрдХ рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЯреЗрдмрд▓ рд░рд╛рд╕реНрддрд╛ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рд╣рдпреЛрдЧреА рдХреЛ рдЗрд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ (http://vijayulla.com/wp/2014/11/12/grouping-in-r-using-data-table/) рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдХрд┐рдпрд╛ред рдмреЗрд╢рд░реНрдо рдЖрддреНрдо рдкреНрд░рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

рдореИрдВрдиреЗ _рдбреЗрдЯрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рд╕рдорд╛рдкреНрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛_ рд╡рд┐рдЧреНрдиреЗрдЯ (рд╢реАрд░реНрд╖ рдкрд░ рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВ)ред рдпрд╣ рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред

рдорд╣рд╛рди рдлреАрдбрдмреИрдХ рдХреЗ рд▓рд┐рдП @jangorecki рдФрд░ @brodieG рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ @mattdowle :-)ред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдХрд╛рд╢ рдпрд╣ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реЛрддрд╛ рдЬрдм рдореИрдВрдиреЗ data.table рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдХреБрдЫ рдЫреЛрдЯреА-рдЫреЛрдЯреА рдмрд╛рддреЗрдВ:
рдЖрдк рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрдВрдд рдореЗрдВ рдЕрдкрдиреЗ рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ i рдореЗрдВ ( order рдорд╛рдзреНрдпрдо рд╕реЗ) рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╢реБрд░реБрдЖрдд рдореЗрдВ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдЬреЛрдбрд╝ рд╣реИрдВ рдЬреЛ i рдореЗрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдХрд╡рд░ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ i рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкрд╛рдардХ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд╕рдХреЗрдВред рдФрд░ рдЖрдк рдмрд╛рдж рдореЗрдВ рдЙрдирд╕реЗ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

.SD рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЖрдк "рд╡рд╣ рд╕рдореВрд╣" рд▓рд┐рдЦрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рдирд╛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ "рдЙрд╕ рд╕рдореВрд╣ рдХреЛ by рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ"ред рдпрд╣ рднреА рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдпрд╛рдж рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ .SD рд╕рд╛рде by рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ .SD рдХреЙрд▓рдо рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИред by рдореЗрдВ рдЪрд░реЛрдВ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдВрдпреЛрдЬрдиред рдпрд╣ рддреЛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдЗрди data.tables рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ by рдЪрд░ рд╕реЗ рд╕рдорд╛рд░реЛрд╣ (рд░реЛрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ j ред рдЖрдк рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддреАрдХ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрд╕ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХреБрдЫ рдЗрдВрдбреЗрдХреНрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЗ рдкрд░рд┐рдЪрдп рд╡рд┐рдЧреНрдиреЗрдЯ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВред

рдлрд┐рд░, рдпреЗ рд╕рд┐рд░реНрдл рд╕реБрдЭрд╛рд╡ рд╣реИрдВред рдЖрдкрдХреА рдХрдбрд╝реА рдореЗрд╣рдирдд (рдФрд░ рдореИрдЯ рдХреА) рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред

рд╢рдирд┐рд╡рд╛рд░, 17 рдЬрдирд╡рд░реА 2015 рдХреЛ рд╢рд╛рдо 6:22 рдмрдЬреЗ, рдорд╛рд░реНрдХ рдбреИрдиреАрд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдХрд╛рд╢ рдпрд╣ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реЛрддрд╛ рдЬрдм рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛
рд╡рд┐рд╡рд░рдг рд╕рд╛рд░рдгреАред рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдХреБрдЫ рдЫреЛрдЯреА-рдЫреЛрдЯреА рдмрд╛рддреЗрдВ:

рдзрдиреНрдпрд╡рд╛рджред

рдЖрдк рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдореЗрдВ i рдореЗрдВ (рдЖрджреЗрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрдВрдд рдореЗрдВ рд╕рд╛рд░рд╛рдВрд╢ред рдЖрдк рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╢реБрд░реБрдЖрдд рдореЗрдВ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдУрд╣ рддрд╕реНрд╡реАрд░! рдорд╣рд╛рди рдмрд┐рдВрджреБред рдореБрдЭреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ "рдЖрджреЗрд╢ (..)" рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░
рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ рднреА рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред

рдЖрдк рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдЬреЛрдбрд╝ рд╣реИрдВ рдЬреЛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореИрдВ рдЙрди рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдореИрдВ рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рддрд╛рдХрд┐ рдкрд╛рдардХ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рджреЗрдЦ рд╕рдХреЗрдВ
рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рд╣реА, рдХрд░реЗрдВрдЧреЗред

рдФрд░ рдЖрдк рдмрд╛рдж рдореЗрдВ рдЙрдирд╕реЗ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд╣, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ .. рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд╕реАрдЖрд░рдПрдПрди рдХреЛ рдзрдХреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдФрд░ рд╕рд╛рде рд╣реА
рд╡рд┐рдХреА рдкрд░..

.SD рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЖрдк "рд╡рд╣ рд╕рдореВрд╣" рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдХрд╣реЗрдВ "рдЙрд╕ рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛"ред рдпрд╣ рднреА рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХреБрдВрдЖред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ "рд╡рд░реНрддрдорд╛рди рд╕рдореВрд╣" рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ .. "by
рд╡рд░реНрддрдорд╛рди рд╕рдореВрд╣, by рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдпрд╣ рдХреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ?

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛
рдХрд┐ .SD by рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ .SD рдХреЙрд▓рдо рддрдХ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░
рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИред рдЪрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛рдПрдБ
рдореЗрдВ. рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдЗрди рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ
рдЬреЗ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди (рдУрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрд░ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪреВрдХ рдЧрдПред рдпрд╣ рдмреНрд▓реЙрдХ рдХреЛрдЯ рдХреЗ рдареАрдХ рдиреАрдЪреЗ рд╣реИ рдЬрд╣рд╛рдВ .SD рд╣реИ
рд╕рдордЭрд╛рдпрд╛ (рдЦрдВрдб 2e рдореЗрдВ)ред рдФрд░ рдпрд╣ рд╡рд╣реА рдмрддрд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдк рдпрд╣рд╛рдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ ...

рдЖрдк рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддреАрдХ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ
рдЙрд╕ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХреБрдЫ рдЗрдВрдбреЗрдХреНрд╕ рддрдХ рдкрд╣реБрдВрдЪреЗрдВ, рд▓реЗрдХрд┐рди рд╡рд╣
рдпреЗ рдкрд░рд┐рдЪрдп рд╡рд┐рдЧреНрдиреЗрдЯ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВред

рдареАрдХ рд╣реИ.. рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдлрд┐рд░, рдпреЗ рд╕рд┐рд░реНрдл рд╕реБрдЭрд╛рд╡ рд╣реИрдВред рдЖрдкрдХреА рдХрдбрд╝реА рдореЗрд╣рдирдд (рдФрд░ рдореИрдЯ рдХреА) рдмрд╣реБрдд рд╣реИ
рд╕рд░рд╛рд╣рдирд╛ рдХреАред

рдмрдврд╝рд┐рдпрд╛ рд╕реБрдЭрд╛рд╡ред рдЕрдиреНрдп рд╡рд┐рдЧрдиреЗрдЯреНрд╕ рдЕрдкрд▓реЛрдб рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рд╡рд╛рдкрд╕ рд▓рд┐рдЦреВрдВрдЧрд╛ред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/Rdatatable/data.table/issues/944#issuecomment -70375167
.

рд╡рд╣, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ .. рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд╕реАрдЖрд░рдПрдПрди рдХреЛ рдзрдХреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдФрд░ рд╕рд╛рде рд╣реА
рд╡рд┐рдХреА рдкрд░..

AFAIK рдЬрдм рдЖрдк CRAN рдХреЛ рдкреИрдХреЗрдЬ рдкреБрд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ Rmd vignettes рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╡реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд┐рдд рд╣реЛрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╡рд┐рдЧрдиреЗрдЯ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реАрдЖрд░рдПрдПрди рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╡рд┐рдЧрдиреЗрдЯреНрд╕ (рдПрдЪрдЯреАрдПрдордПрд▓) рд╣реЛрдЧрд╛ рдЖрдк, рд╕реАрдЖрд░рдПрдПрди рдмрд┐рд▓реНрдб/рдЪреЗрдХ рд╕реЗ рдирд╣реАрдВред
рд╕реАрдЖрд░рдПрдПрди рд╡рд┐рдЧрдиреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдбреЙрдХреНрд╕/рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рд╕реНрдерд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реАрдЖрд░рдПрдПрди рдореЗрдВ рд░рдЦрдирд╛ рдЙрдЪрд┐рдд рд╣реИред

рдФрд░ рдЖрдк рдмрд╛рдж рдореЗрдВ рдЙрдирд╕реЗ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд╣, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ .. рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд╕реАрдЖрд░рдПрдПрди рдФрд░ рд╕рд╛рде рд╣реА рд╡рд┐рдХреА рдкрд░ рдзрдХреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВред

рдХреНрдпрд╛ рд╕рд┐рдВрдЧрд▓ рдлреЛрд▓реНрдбрд░ рд▓рд┐рдВрдХ рд╕реАрдЖрд░рдПрдПрди рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд░рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдЧрдиреЗрдЯ рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЖрд░ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬрд╛рд╣рд┐рд░ рд╣реИ рд▓рд┐рдВрдХ рдЖрд░ рд╕реЗ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рдЧрдиреЗрдЯреНрд╕ рд▓рд┐рдВрдХ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдХрд╛рдоред

_рд╕рдВрджрд░реНрдн рд╢рдмреНрджрд╛рд░реНрде_рд╡рд┐рдЧреНрдиреЗрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред

рдХрд┐рд╕реА рд╢рдмреНрджрдЪрд┐рддреНрд░ рдкрд░ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡ -- рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ data.table рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдПрдХ рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреБрдЫ рддрд░рдХреАрдмреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдпрд╛ рд╣реВрдВред рдЕрдЧрд░ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрд╣реАрдВ рдХреЛрдИ рдкреЛрд╕реНрдЯ рд╣реИ, рддреЛ рдПрдХ рд▓рд┐рдВрдХ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред

рдЕрдВрдд рдореЗрдВ, рдПрдХ рд╡рд┐рдЧреНрдиреЗрдЯ рд╕реВрдЪреА "рдЙрдкрдпреЛрдЧреА" рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдкреЛрд╕реНрдЯ рдЙрди рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдХрд┐рд╕реА рд╢рдмреНрджрдЪрд┐рддреНрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдмрд╕ рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдЪрд╛рд░ред

рджреЛ рд╡рд┐рдЪрд╛рд░:

  • рд╡рд┐рдХрд┐ рдореЗрдВ рд╡рд┐рдЧреНрдиреЗрдЯ рдХрд╛ рд▓рд┐рдВрдХ
  • рд╕рдВрджрд░реНрдн рд╢рдмреНрджрд╛рд░реНрде рд╢рдмреНрджрдЪрд┐рддреНрд░ рдореЗрдВ, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬреЛрдбрд╝реЗрдВ: = рдПрдХ рдЙрджреНрдзреГрдд рд╕реВрдЪреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджреНрдзреГрдд рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ) рдХреЗ рд╕рд╛рдеред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдХреЗ рдпреЛрдЧреНрдп рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ data.table рдореЗрдВ NSE (рдЧреИрд░ рдорд╛рдирдХ рдореВрд▓реНрдпрд╛рдВрдХрди) рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЙрдкрдпреЛрдЧ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдкреИрдХреЗрдЬ рдореЗрдВ data.table рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдм рдЖрдкрдХреЛ рдЙрджреНрдзрд░рдг, eval, рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдореЗрдВ dt[, do.call(":=", eval(my_quoted_list)] рдЬреИрд╕реЗ рдХреБрдЫ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдлрд┐рд░ NSE рдФрд░ рдЙрд╕рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрдереЛрдВ рдкрд░ рдПрдХ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдмрдирд╛рдПрдВ?

рдзрдиреНрдпрд╡рд╛рджред

  1. рдХреНрдпрд╛ рдЖрдкрдиреЗ рдпрд╣ рджреЗрдЦрд╛ рд╣реИ?
  2. рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдореЗрдВ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрднреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред

@arunsrinivasan рдирд╣реАрдВ, рдореИрдВрдиреЗ рд╡рд╣ рдирд╣реАрдВ рджреЗрдЦрд╛ рдерд╛, рдмрдврд╝рд┐рдпрд╛! рдПрдХ рдФрд░ рдмреБрдХрдорд╛рд░реНрдХ

_Keys рдФрд░ рддреЗрдЬрд╝ рдмрд╛рдЗрдирд░реА рд╕рд░реНрдЪ рдЖрдзрд╛рд░рд┐рдд рд╕рдмрд╕реЗрдЯ_ рд╡рд┐рдиреЗрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ред рдореБрдЭреЗ рдпреЗ рд╡рд┐рдЧрдиреЗрдЯреНрд╕ рдкрд╕рдВрдж рд╣реИрдВред рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреБрдЫ рддреНрд╡рд░рд┐рдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБред

рдпрджрд┐ рдкрдВрдХреНрддрд┐ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИ? рдпрд╛ рд╡реЗ рд╡рд┐рд╢реЗрд╖ рдСрдкрд░реЗрдЯрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ j (рдЬреИрд╕реЗ .N, .I, рдЖрджрд┐) рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВред рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреНрд░рдорд╛рдВрдХрд┐рдд рдкрдВрдХреНрддрд┐ рдирд╛рдореЛрдВ рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рднреНрд░рдорд┐рдд рд░рд╣рд╛ рд╣реВрдБред

рдХреЗрд╡рд▓ рджреВрд╕рд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рдкрд╣рд▓реА рдХреБрдВрдЬреА рдореЗрдВ unique рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ? рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдмрд╣реБрдд рд╕реА рдмрд╛рд░-рдмрд╛рд░ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдорд┐рд▓рддреА рд╣реИрдВ, рд╣реИ рдирд╛? рд╢рд╛рдпрдж рд╕реНрдкрд╖реНрдЯ рд╣реЛ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рдирд╛/рджрд┐рдЦрд╛рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рд╕рднреА рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ (рдкреВрд░реНрдгрд╛рдВрдХ) рд╡рд╛рд▓реЗ рднреА? рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЪреАрдЬрд╝?

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдХреБрдВрдЬреА рдХреЙрд▓рдо рдореЗрдВ NA рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ 24 рдХреЛ 0 рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдерд╛?

рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИ рдХрд┐ keyby _output_ data.table (рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ ans ) рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рди рдХрд┐ рдЗрдирдкреБрдЯ data.table (рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ flights ) рдкрд░ред

рдХреНрдпрд╛ рдЖрдк рдХреБрдВрдЬреА рдХреЛ рд╡реЗрдХреНрдЯрд░ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХреНрдпрд╛ рдЖрдк рдиреАрдЪреЗ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ airport <- c("LGA", "JFK", "EWR") рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ airport рд╕реАрдзреЗ i рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдПрдХ рд╡рд┐рд▓рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ data.table рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

"рд╕рдВрдмрдВрдзрд┐рдд" ("рд╕рдВрдЧрдд") рдкрд░ рдЯрд╛рдЗрдкреЛред рд╡реЗрдХреНрдЯрд░ рд╕реНрдХреИрди рд╕реЗрдХреНрд╢рди рдореЗрдВ рдПрдХ рдмреИрдХ рдЯрд┐рдХ рдЧрд╛рдпрдм рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВ "рдореВрд▓ == "рдПрд▓рдЬреАрдП" рдФрд░ рдбреЗрд╕реНрдЯ == "рдЯреАрдкреАрдП" рдХреЗ рдЕрдиреБрд░реВрдк рдкрдВрдХреНрддрд┐ рд╕реВрдЪрдХрд╛рдВрдХ рдХреБрдВрдЬреА рдЖрдзрд╛рд░рд┐рдд рд╕рдмрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред"

@markdanese рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдХреЗрд╡рд▓ рджреВрд╕рд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рдкрд╣рд▓реА рдХреБрдВрдЬреА рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?

flights[.(unique(origin), "MIA")]

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдмреЗрд╣рддрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдХреЙрд▓рдо рдХреБрдВрдЬреА рдХреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЕрд╡рдЧрдд рдирд╣реАрдВ рд╣реИрдВред
рдЖрдк рдмрд╕ рдкрд░ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ dest рдЬрдм рдХреБрдВрдЬреА рд╣реИ c(origin, dest) , рдЖрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП c(dest, origin) рдкрд░ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ dest ред .(unique(origin), "MIA") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╛рдЗрдирд░реА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреБрдВрдЬреА рдореЗрдВ рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рд╕рднреА рдЙрдкрд▓рдмреНрдз рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдФрд░ рдлрд┐рд░ рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рдЪреБрдирд┐рдВрджрд╛ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдХреБрдВрдЬреА рд╕реЗ рдХреЗрд╡рд▓ рдЪреБрдирд┐рдВрджрд╛ рдХреЙрд▓рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрдирд╛рдпрд╛ рд╣реИред рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ рдЖрдкрдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдореЗрд░рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдбреЗрдЯрд╛.рдЯреЗрдмрд▓ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЯреЗрдмрд▓ рдлрд╝рдВрдХреНрд╢рди / рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрддред рддрд╛рд▓рд┐рдХрд╛ рдорд╛рдзреНрдпрдорд┐рдХ рдХреБрдВрдЬреАред

рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЖрдк рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдХреЛ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ 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 рдЦреЛрдЬреЗрдВ

рдзрдиреНрдпрд╡рд╛рдж рдЬрдирд╡рд░реА - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реИред рдореИрдВрдиреЗ рдЙрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдЙрди рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд┐рдирдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рд╡рд┐рдиреЗрдЯ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╡реЗ рдРрд╕реА рдЪреАрдЬреЗрдВ рдереАрдВ рдЬреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп (рдмрд┐рд▓реНрдХреБрд▓ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ) рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдИрдВред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдб рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдорджрдж рдХрд░рдХреЗ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рд╢реБрдХреНрд░, 23 рдЬрдирд╡рд░реА, 2015 рдХреЛ рд░рд╛рдд 8:48 рдмрдЬреЗ, рдорд╛рд░реНрдХ рдбреИрдиреАрд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ред рдореБрдЭреЗ рдпреЗ рд╡рд┐рдЧрдиреЗрдЯреНрд╕ рдкрд╕рдВрдж рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреБрдЫ рддреНрд╡рд░рд┐рдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ
рд╕реЛрдЪ - рд╡рд┐рдЪрд╛рд░ред

рдпрджрд┐ рдкрдВрдХреНрддрд┐ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИ? рдпрд╛ рд╣реИрдВ
рд╡реЗ рд╡рд┐рд╢реЗрд╖ рдСрдкрд░реЗрдЯрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ j (рдЬреИрд╕реЗ .N, .I, рдЖрджрд┐) рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ? рдореИрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдБ рд╡реЗ
data.table рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВред рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ рдХрд┐рдпрд╛ рд╣реИ
рдХреНрд░рдорд╛рдВрдХрд┐рдд рдкрдВрдХреНрддрд┐ рдирд╛рдореЛрдВ рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рднреНрд░рдорд┐рддред

рдзрд╛рд░рд╛ 1рдП, рдХреБрдВрдЬреА рдФрд░ рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдареАрдХ рдКрдкрд░ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╣реИред
data.tables _inherit_ data.frames рд╕реЗред

рдХреЗрд╡рд▓ рджреВрд╕рд░реА рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рдкрд╣рд▓реА рдХреБрдВрдЬреА рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ? рдЕрдЧрд░ рддреБрдо
рдирд╣реАрдВ, рдЖрдкрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдмрд╣реБрдд рд╕реА рдмрд╛рд░-рдмрд╛рд░ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдорд┐рд▓рддреА рд╣реИрдВ, рд╣реИ рдирд╛? рд╢рд╛рдпрдж рдЬрд╛рд╣рд┐рд░ рд╣реИ,
рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рдирд╛/рджрд┐рдЦрд╛рдирд╛ рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред

рджреЛрдмрд╛рд░рд╛, рдпрд╣ "рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?" рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдиреАрдЪреЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдХрд╛ рднреА рд╕рдВрджрд░реНрдн рд▓реЗрдВ рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдерд╛
рдЗрд╕реЗ рд╕рдордЭрд╛рддреЗ рд╣реБрдПред

рдХреНрдпрд╛ рд╕рднреА рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ (рдкреВрд░реНрдгрд╛рдВрдХ) рд╡рд╛рд▓реЗ рднреА? рдХреНрдпрд╛ рдЖрдк a . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдПрдХ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ? рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЪреАрдЬрд╝?

2d рдкрд░ рдкреВрд░реНрдгрд╛рдВрдХ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐
рдкрд░реНрдпрд╛рдкреНрдд?

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдХреБрдВрдЬреА рдХреЙрд▓рдо рдореЗрдВ NA рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ
рдЙрдиреНрд╣реЗрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ 24 рдХреЛ 0 рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдерд╛?

рдЕрдЪреНрдЫреА рдмрд╛рддред рд╡реЗрдХреНрдЯрд░ рд╕реНрдХреИрди рдХреЗ рд╕рд╛рде рдпрд╣реА рдЕрдВрддрд░ рд╣реИред рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред

рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ keyby _output_ data.table рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ (
рдЙрддреНрддрд░ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ) рдФрд░ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдирд╣реАрдВред рддрд╛рд▓рд┐рдХрд╛ (рдЖрдкрдХреЗ рдореЗрдВ рдЙрдбрд╝рд╛рдиреЗрдВ
рдЙрджрд╛рд╣рд░рдг)ред

рдкрд╣рд▓реЗ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдореЗрдВ 'рдХреАрдмреА' рдХреА рдЪрд░реНрдЪрд╛ рдкрд╣рд▓реЗ рд╣реА рд╣реЛ рдЪреБрдХреА рдереАред рд▓реЗрдХрд┐рди рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣
рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХреБрдВрдЬреА рдХреЛ рд╡реЗрдХреНрдЯрд░ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХреНрдпрд╛ рдЖрдк рд╣рд╡рд╛рдИ рдЕрдбреНрдбрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ
<- c("LGA", "JFK", "EWR") рдФрд░ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рд╡рд╛рдИ рдЕрдбреНрдбреЗ рдХрд╛ рд╕реАрдзреЗ ini` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рддрд▓? рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ
data.table рдорд░реНрдЬ рдХреЗ рд▓рд┐рдПред

рдЕрдЧрд▓реЗ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реАред рдЗрд╕ рддрд░рд╣ рд╣рдо рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХрд░рддреЗ рд╣реИрдВред

"рд╕рдВрдмрдВрдзрд┐рдд" ("рд╕рдВрдЧрдд") рдкрд░ рдЯрд╛рдЗрдкреЛред рдкрд┐рдЫрд▓реА рдЯрд┐рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ
рд╡реЗрдХреНрдЯрд░ рд╕реНрдХреИрди рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЧрд╛рдпрдм рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк "рдкрдВрдХреНрддрд┐ рд╕реВрдЪрдХрд╛рдВрдХ" рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ
рдореВрд▓ рдХреЗ рдЕрдиреБрд░реВрдк == "LGA" рдФрд░dest == "TPA"` key . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
рдЖрдзрд╛рд░рд┐рдд рдЙрдкрд╕рдореБрдЪреНрдЪрдпред"

рдзрдиреНрдпрд╡рд╛рджред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ 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]]))

рд╡рд┐рдХрд┐ рдореЗрдВ рдирдпрд╛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рд╢рдмреНрджрдЪрд┐рддреНрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред

рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рд╢рдмреНрджрдЪрд┐рддреНрд░! рдзрдиреНрдпрд╡рд╛рдж рдЕрд░реБрдг

рдордВрдЧрд▓рд╡рд╛рд░, 23 рдЬреВрди 2015, 21:02 рдХреЛ рдЕрд░реБрдг рдЕрдзрд┐рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдирдпрд╛ рдЖрдХрд╛рд░ рд╡рд┐рдЧреНрдиреЗрдЯ
https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-reshape.html
рд╡рд┐рдХреА рдХреЗ рд▓рд┐рдП https://github.com/Rdatatable/data.table/wiki/Getting-startedред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/Rdatatable/data.table/issues/944#issuecomment -114678716
.

рдЖрджрдореА patterns рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдмрдврд╝рд┐рдпрд╛ рд╢рдмреНрджрдЪрд┐рддреНрд░

рдХреНрдпрд╛ рдЗрди рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП reshape2 рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдЙрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдЪреМрдбрд╝реЗ рд╕реЗ рд▓рдВрдмреЗ" рдФрд░ "рд▓рдВрдмреЗ рд╕реЗ рдЪреМрдбрд╝реЗ" рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдкрд╕рдВрдж рд╣реИред рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ reshape2 рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реВрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдореЗрдХ_рд╡рд╛рдЗрдб" "рдбрдХрд╛рд╕реНрдЯ" рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИ)ред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдореИрдВ рдЕрдиреБрднрд╛рдЧ рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рдХреЛ "рдкрд┐рдШрд▓рдиреЗ рд╡рд╛рд▓реЗ data.tables" рдФрд░ "casting data.tables" рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬреЛ reshape2 рдкреИрдХреЗрдЬ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдореИрдВ рдЙрди рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдКрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИрдВ ("рд▓рдВрдмреЗ рд╕реЗ рдЪреМрдбрд╝реЗ")ред

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рд╕рд┐рд░реНрдл рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рдЬрд╛ рдЖрд░ рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЧрдиреЗрдЯ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ред рдЯреЗрдмрд▓ рд▓реЛрдбред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХреНрдпреЛрдВ (рд╢рд╛рдпрдж рдореЛрдб "рдбрдмреНрд▓реНрдпреВ" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ "рдбрдмреНрд▓реНрдпреВрдмреА" рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП), рд▓реЗрдХрд┐рди
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 рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

  1. reshape2 рд╕реЗ data.table v1.9.6 рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдЗрд╕реЗ рд╡рд┐рдЧрдиреЗрдЯ рдореЗрдВ рднреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред
  2. рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рднреНрд░рдо рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖рдХреЛрдВ рдФрд░ рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ 'рд╡рд╛рдЗрдб рдЯреВ рд▓реЙрдиреНрдЧ' рдФрд░ 'рд▓реЙрдиреНрдЧ рдЯреВ рд╡рд╛рдЗрдб' рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  3. https рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ fread рдореЗрдВ рдбреЗрд╡реЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрднреА рддрдХ рдЙрд╕ рдХреЛрдб рдХреЛ v1.9.4 рд╕рд╛рде рдирд╣реАрдВ рдЪрд▓рд╛ рдкрд╛рдПрдВрдЧреЗред рдпрд╛ рддреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдпрд╛ рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВ :-)ред

рдЖрдкрдХреЗ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@jangorecki patterns() рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреЙрд▓рдо, := , .SDcols рдЖрджрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ [.data.table рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@arunsrinivasan рдЕрднреА рднреА patterns рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡реИрд╕реЗ рд╣реА := ред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝реЗ рдЧрдП рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП ?fun рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

_join_ рд╡рд┐рдЧреНрдиреЗрдЯ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд SQL рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рдЬреБрдбрд╝рддреА рд╣реИ рддрд╛рдХрд┐ рдбреАрдмреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд┐рдХрдЕрдк рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХреЗред
рд╕рдВрдмрдВрдзрд┐рдд SQL рдХрдерди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП SO рдореЗрдВ рдбреЗрдЯрд╛ рдлрд╝реНрд░реЗрдо (рдЖрдВрддрд░рд┐рдХ, рдмрд╛рд╣рд░реА, рдмрд╛рдПрдБ, рджрд╛рдПрдБ) рдореЗрдВ

рдХреБрдЫ "рд╢рд░рдгрд╛рд░реНрдерд┐рдпреЛрдВ" рд╢рдмреНрджрдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ --

  • data.table Stata рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП
  • data.table SQL рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП
  • data.table Matlab рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП
  • data.table Python / pandas рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП
  • рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ data.table dplyr рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП

рдЖрджрд┐ред рдПрдХ рддреНрд╡рд░рд┐рдд-рд╢реБрд░реБрдЖрдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреА рддрд░рд╣, рд▓реЗрдХрд┐рди рдкреНрд░рд╡рд╛рд╕рд┐рдпреЛрдВ рдХреА рдУрд░ рдЙрдиреНрдореБрдЦред

рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ Secondary indices and auto indexing рд╡рд┐рдЧрдиреЗрдЯред рдпрд╣ рдЕрдЧрд▓реЗ рд╡рд┐рдиреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗрдЯ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдЧрдо рд╕рдВрдХреНрд░рдордг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред

@arunsrinivasan _indices_ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ _secondary_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ? рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ _keys_ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ рдЬрд╣рд╛рдВ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо _index_ рдирд╛рдордХрд░рдг рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЕрдм рдпрд╣ рдмреЗрдорд╛рдиреА рд▓рдЧрддрд╛ рд╣реИред

@jangorecki рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдорд╛рдзреНрдпрдорд┐рдХ" рдХреБрдВрдЬреА (рдкреНрд░рд╛рдердорд┐рдХ) рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ, рд╢рд╛рдпрдж:

рдорд╛рдзреНрдпрдорд┐рдХ рдЫрдБрдЯрд╛рдИ

рдмреЗрд╣рддрд░ рд╡рд┐рд╡рд░рдг рд╣реИ?

рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА _index_ рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдпрд╣ _рд╕реЗрдХреЗрдВрдбрд░реА рд╕реЙрд░реНрдЯрд┐рдВрдЧ_ рд╕реЗ рдмреЗрд╣рддрд░ рджрд┐рдЦрддрд╛ рд╣реИ :)

рддреЛ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ "рдСрдЯреЛ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ" рдирд╛рдо рджреЗрдВрдЧреЗ? IMO "рд╕реЗрдХреЗрдВрдбрд░реА рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдФрд░ рдСрдЯреЛ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ" рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд▓рдЧрддрд╛ рд╣реИ

_auto_ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ _auto_ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЧрдП рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рднреА - #1422 рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реАрдорд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЕрдЪреНрдЫрд╛ рдРрд╕рд╛ рд╣реИред рдореБрдЭреЗ рдЕрдм рднреА рдЖрдкрдХрд╛ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рдХрд▓реНрдк рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ -- рдмрд╕ "рд╕реВрдЪрдХрд╛рдВрдХ"?

рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди _рд╕реЗрдХреЗрдВрдбрд░реА рдЗрдВрдбреЗрдХреНрд╕_ рд╕реЗ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдореБрдЭреЗ рдпрд╣ рдирд╡реАрдирддрдо рд╡рд┐рдЧреНрдиреЗрдЯ рдмрд╣реБрдд рдкрд╕рдВрдж рд╣реИред рдореЗрд░рд╛ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдХрд╛рд░рдг рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реЗ, рдРрд╕рд╛ рдХреБрдЫ рднреА рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдпрд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЙрд▓рдо рд╕реЗ рдЬреБрдбрд╝реЗ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрд╢рди рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ "рдЪрд╛рд▓реВ" рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рдереЗред

@markdanese рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБ, рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред

v1.9.8 рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рд╡рд┐рдЧрдиреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
"рд╕рдВрджрд░реНрдн рд╢рдмреНрджрд╛рд░реНрде" copy() рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЙрдерд▓реА рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдирдИ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдВрджрд░, рдХреБрдЫ рдРрд╕рд╛ рдЬрд┐рд╕рдореЗрдВ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ):

"рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдЧрд╣рд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЗ рдмрдЬрд╛рдп рдЙрдерд▓реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо v1.9.8 рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдмрд╣реБрдд рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред рд╣рдо

рд▓реЗрдХрд┐рди рдбрд┐рдЬрд╛рдЗрди рд╡рд┐рдЧреНрдиреЗрдЯ рдЧрд╛рдпрдм рд╣реИ рдФрд░ рд▓рд┐рдВрдХ рдПрдХ рдкреБрд░рд╛рдиреЗ рдореБрджреНрджреЗ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрд┐рдХрд╛ copy() рдореЗрдВ рд╡рд┐рдЧреНрдиреЗрдЯ рдореЗрдВ рджреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рд╢реЗрд╖ рд╢рдмреНрджрдЪрд┐рддреНрд░ copy рдкрд░ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рдЧрдиреЗрдЯ рдЬрд▓реНрдж рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛?

рдЖрдВрддрд░рд┐рдХ рд╡рд┐рдЧреНрдиреЗрдЯ рдХреЗ рд▓рд┐рдП +1ред рдореИрдВ (рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрдиреНрдп) рдЪреАрдЬреЛрдВ рдХреЗ рд╕реА рдкрдХреНрд╖ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реА рдХреЛрдб рдХреА 35k рд▓рд╛рдЗрдиреЛрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЦрдбрд╝рд╛ рд╣реИ) рд╕реЗ рдереЛрдбрд╝рд╛ рдбрд░рд╛ рд╣реБрдЖ рд╣реВрдВ ... рдХрд╛рдлреА рд╕реАрдЦрдиреЗ рдХреА рдЕрд╡рд╕реНрдерд╛ 'рдЬрд╛рдирд╛' рдпрд╣ рдЕрдХреЗрд▓рд╛ рд╣реИ' - рдЖрдВрддрд░рд┐рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдЪрдп рдЪрдорддреНрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ!

рдЬреЙрдЗрди рд╡рд┐рдЧреНрдиреЗрдЯ рдХреЗ рд▓рд┐рдП:

https://github.com/Rdatatable/data.table/issues/2396

рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд╡рд┐рдЧрдиреЗрдЯ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдЧреИрд░-рдХреЛрдб рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ (рдореЗрд░реЗ рдЬреИрд╕реЗ) рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреЙрдЗрди рд╡рд┐рдЧрдиреЗрдЯ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдкрд░реЗрд╢рд╛рдиреА рд╣реБрдИ рдереА рдФрд░ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдЕрд░реБрдг рдХреЗ рдЙрддреНрддрд░реЛрдВ рд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЕрдЧрд░ рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рддреЛ рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдЪрд╛рд╣рд┐рдПред

@arunsrinivasan рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрд┐рдВрджреБ рд╣реИ IDateTime vignette ред рд╢рд╛рдпрдж рдЗрд╕реЗ @jangorecki рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЧрдиреЗрдЯреНрд╕: рдЯрд╛рдЗрдореНрд╕рд░реАрдЬрд╝ - рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдЕрд╡рд▓реЛрдХрди ?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЬрдирд╡рд░реА рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рдХреБрдЫ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдкрд╣рд▓рд╛ рдорд╕реМрджрд╛ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рдЬреЙрдЗрди рд╡рд┐рдЧрдиреЗрдЯ рдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗ рддреЛ рдореБрдЭреЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

@zeomal рдРрд╕рд╛ рдпреЛрдЧрджрд╛рди рдЕрддреНрдпрдзрд┐рдХ рдореВрд▓реНрдпрд╡рд╛рди рдФрд░ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдиреАрдп рд╣реЛрдЧрд╛!

@MichaelChirico , рдзрдиреНрдпрд╡рд╛рджред @ рд╣реЗрдирд░рд┐рдХ-рдкреА, рдХреНрдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЬреБрдбрд╝рд╛рд╡ рдкрд░ рдЖрдкрдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рд╡реНрдпрд╛рдкрдХ рд╣реЛрдЧрд╛ - рдпрд╛рдиреА рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рд╕рдордп рдкрд░ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ - рдореИрдВрдиреЗ рдЕрднреА рддрдХ рд░реЛрд▓рд┐рдВрдЧ рдЬреЙрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд╣рд╛рдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред :)

@zeomal рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдЬрд▓реНрдж рд╣реА рдкрд╣рд▓рд╛ рдбреНрд░рд╛рдлреНрдЯ рдЕрдкрд▓реЛрдб рдХрд░ рдкрд╛рдКрдВрдЧрд╛, рддрд╛рдХрд┐ рдЖрдк рдЗрд╕реЗ рджреЗрдЦ рд╕рдХреЗрдВред рдореЗрд░реЗ рдорд╕реМрджреЗ рдореЗрдВ, рдореИрдВ рдПрдХ рдПрдХрд▓ рдЪрд░, рд╕рдордп рдкрд░ "рд╕рд╛рдорд╛рдиреНрдп" рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдЧреИрд░-рдорд┐рд▓рд╛рди рдкрдВрдХреНрддрд┐рдпрд╛рдВ рд╣реИрдВред рдореИрдВ nomatch = NA рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред (рдорд╛рдПрдмреЗ nomatch = NULL рд╕рд╛рде рдПрдХ рддреНрд╡рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рднреА рд╣реИ)

рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рд╕рд░рд▓ рдЬреБрдбрд╝рд╛рд╡ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдФрд░ рднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рд░реЛрд▓рд┐рдВрдЧ рдФрд░ рдиреЙрди-рдЗрдХреНрд╡рд┐ рдЬреЙрдЗрди рдПрдЯ рдЕрд▓ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдорд╛рдирддрд╛ рд╣реВрдВред

рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! .

рд╡рд┐рдЧреНрдиреЗрдЯ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╕рдордп рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░рд╛ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИред X[Y, new_col := old_col] рдкрд╛рд░рдВрдкрд░рд┐рдХ рд▓реЗрдлреНрдЯ рдЬреЙрдЗрди рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ X ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ Y рдХреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП X рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдорд┐рд▓рд╛рди рд╣реИрдВ, рддреЛ рдХреБрдВрдЬреА рдХрд╛ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо (рдпрд╛ рдкрд╣рд▓рд╛?) рдорд┐рд▓рд╛рди рдорд╛рди рдмрд░рдХрд░рд╛рд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдХрд╣реАрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ? рдЬрдм рдореБрдЭреЗ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рддреЛ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА, рд▓реЗрдХрд┐рди рдХрд╛рд░рдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдореЗрд░реА рд╕рдордЭ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рдкрдбрд╝рд╛ред рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,

> 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 рдпрджрд┐ рдЖрдк рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп (рдЗрдХреНрд╡рд┐) рдПрдХ рдЯрд╛рдЗрдореНрд╕рд░реА рд╡рд┐рдЧрдиреЗрдЯ рдкрд░ рдПрдХ рдкреАрдЖрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

arunsrinivasan picture arunsrinivasan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sbudai picture sbudai  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

symbalex picture symbalex  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

franknarf1 picture franknarf1  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sengoku93 picture sengoku93  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ