data.tableを使用するRでは、基準フィールドが整数である場合、1つのサブセットまたはクエリはどのようにクエリしますか?

StackOverflow https://stackoverflow.com/questions/8917971

  •  30-10-2019
  •  | 
  •  

質問

data.tableパッケージをかなり使用しています。ベクタースキャンよりもはるかに高速なバイナリ検索を使用して、サブセットまたはクエリまたは検索(またはそれを呼びたいもの)の例がたくさんあります。ヘルプファイルからの抜粋です。

DT["a"]                    # binary search (fast)
DT[x=="a"]                 # vector scan (slow)

しかし、検索したい列が要因(または文字)ではなく、整数である場合に何が起こりますか。

cpt <- c(23456,23456,10000,44555,44555)
description <- c("tonsillectomy","tonsillectomy in >12 year old","brain transplant","castration","orchidectomy")
cpt.desc <- data.table(cpt,description)

setkey(cpt.desc,cpt)
cpt.desc[10000,]  

整数10000は、このdata.tableに存在しない10000列として解釈されるため、それは機能しません。

構文を変更すると、探しているものが得られます。

cpt.desc[cpt==10000,]

ただし、それはまるで遅いベクトルスキャン方法であるかのように見えます。 data.tableパッケージに整数のバイナリ検索機能はありますか?あなたの助けを期待してあなたに感謝します。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top