Data.table: ビネット

䜜成日 2014幎11月11日  Â·  54コメント  Â·  ゜ヌス: Rdatatable/data.table

HTMLビネットシリヌズ

v1.9.8予定

  • [] data.tableのクむックツアヌ
  • [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_ vs _subsets_-バむナリ怜玢ベヌスのサブセットを結合+条件付き/非等䟡結合、ロヌリングおよび間隔結合に拡匵したす。 bby = .EACHI、結合+曎新機胜。 c1038に提出されたi.col䜿甚状況を文曞化したす。 d1232のパフォヌマンス/利点に぀いおも説明したす。
  • [] get()ずmget()カバヌしたす。
  • [] FAQ1623にon =匕数の理論的根拠に぀いお远加したす。
  • [] FAQ 5.3は、過剰割り圓おを埩元するために行われるのは_浅い_コピヌであるこずに蚀及する必芁がありたす。 1729でリンクしおくれたJanに感謝したす。

将来のリリヌス

  • [] data.tableの内郚、パフォヌマンスの偎面、および_衚珟力_
  • []耇数のファむルの読み取り fread + rbindlist 、順序付け、ランク付け、および蚭定操䜜
  • [] IDateTimeビネット
  • [] data.table()ずdata.frame()の違いをどこかに文曞化したす-関連する問題968、877。 おそらく、FAQでもう少し詳しく説明したす。
  • []コヌスラFAQ
  • []高床なdata.table䜿甚法

    • [] NSE

    • []..。

  • []タむミングビネットすべおを1か所にたずめるために520をここに移動したすが、ベンチマヌク/タむミングを備えたWikiがあるため、ビネットずしお必芁かどうかはわかりたせん。
  • [] fread+fwriteビネット、 fread wikiのhttps//github.com/Rdatatable/data.table/issues/2855

終了した

  • [x] [data.tableの抂芁]https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-intro-vignette.html-data.table構文、䞀般的な圢匏、 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]ビネットが完了するたで、 by=.EACHI SOで

マむナヌ

  • [] integer64 、それを_倧きな敎数_にプロモヌトする操䜜。

泚フィヌドバックに基づいお珟圚のビネットを曎新するため䜕か芋萜ずしがあった堎合はお知らせください。

data.tableの抂芁

  • [x] order i 。
  • [x]遞択/蚈算䞭にj列に名前を付ける方法を説明したす。
  • [x]元のdata.tableではなく、蚈算結果の結果を取埗した埌、_keyby_が適甚されるこずを匷調したす。
  • [x] .SDcols新しい曎新ずwith=FALSE列に蚀及し、列をcolA:colBずしお遞択できるようにしたす。

    参照セマンティクス

  • []他のすべおの関連するset*関数もここで説明したす。 setnames 、 setcolorderなど

  • []䞻にset 。
  • [x] 1b) the := operatorは、それを䜿甚する方法を定矩しおいるだけであるこずを説明したす-この䟋は、2぀の異なる䜿甚方法を瀺しおいるだけなので、機胜したせん-このコメントに埓っ

    キヌず高速バむナリ怜玢ベヌスのサブセット

  • []æ•Žæ•°/二重キヌを䜿甚したサブセットの䟋を远加したす。

  • []二分探玢ベヌスのサブセットにおける「nomatch」デフォルトの違い。
  • [] NAをバむナリ怜玢ベヌスのサブセットに眮き換えるこずは可胜ですか

    FAQここで最も適切だず思いたす。

  • [x]たずえば、 readRDS()を䜿甚しお、ファむルからRオブゞェクトを読み取るずきに倖郚ポむンタヌがNULLになる問題に぀いお、FAQを曎新したす。 このSO投皿を曎新したす。

  • [] alloc.col()を䜿甚しおdata.tableを過剰に割り圓おる方法ず、それをい぀䜿甚するか耇数の列を䜜成する必芁がある堎合、およびその理由を䟋を挙げお説明したす。 このSO投皿を曎新したす。
documentation internals

党おのコメント54件

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぀の考え

  • りィキのビネットぞのリンク
  • 参照セマンティクスビネットで、匕甚笊付きリスト匏たたは匕甚笊付き割り圓おで=を䜿甚する方法を远加したす。 data.tableのNSE非暙準評䟡はむンタラクティブな䜿甚を容易にしたすが、独自の関数たたはパッケヌゞでdata.tableを䜿甚するには、quote、eval、substitute、friendsに぀いお䜕かする必芁があるため、これは独自のビネットに倀するかもしれたせん。 たぶん、dt [、do.call "="、evalmy_quoted_list]のようなものをビネットに远加しおから、NSEずその意味でビネットを䜜成したすか

ありがずう。

  1. これを芋たこずがありたすか
  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玠晎らしいフィヌドバックをありがずう。

  1. reshape2はdata.table v1.9.6から
  2. タむトルに「ワむドからロング」ず「ロングからワむド」を远加し、このトピックに䞍慣れな人の混乱を避けるために他の堎所を远加したした。
  3. 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コヌドに少し怖がっおいたす...それだけで」-内郚の玹介は䞍思議に思うかもしれたせん

結合ビネットの堎合

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

チャむムを鳎らしお、ビネットぞの貢献がコヌド以倖の貢献者私のようなから受け入れられるかどうかを尋ねたかった。 私は最初はかなりの問題を抱えおいお、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を投皿し

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡