機略戦記

Maneuver warfare

R あるdata.tableが指定したカラムを備えているか判定したい。ただし指定したカラム以外のカラムがくっついていてもTRUEを返させたい。

結論

# 期待するカラム(の名前)
expect_column_names <- c('V1', 'V2') 

# 判定したいテーブルが持っているカラム。
# 「V3は別にマストで存在していて欲しい訳ではないがあっても問題ない」という条件で判定したい。
column_names <- names(data.table(V1=1, V2=2, V3=3)) 

all(expect_column_names %in% column_names)
# TRUE

説明

あるdata.tableが指定したカラムを備えているか判定したい。ただし指定したカラム以外のカラムがくっついていてもTRUEを返させたい。

言い換えると、「期待するカラム名data.tableが持つカラム名の部分集合か判定したい」という事である。

上記でその判定ができる。