ドキュメントでこれを見つけることができませんが、次の構文は で機能しdata.table
ます。
dt = data.table(wines)
dt[, !"alcohol", with = F]
また、必要に応じて列のリストを作成することもできます:
dt[, !c("Country", "alcohol"), with = F]
v1.8.4のNEWSに記載されたばかりのようです:
with=FALSE の場合、「!」j のプレフィックス、#1384ii の場合もあります。これにより、名前付きの列を除くすべてが選択されます。
DF[,-match("somecol",names(DF))]
# works when somecol exists. If not, NA causes an error.
DF[,-match("somecol",names(DF),nomatch=0)]
# works when somecol exists. Empty data.frame when it doesn't, silently.
DT[,-match("somecol",names(DT)),with=FALSE]
# same issues.
DT[,setdiff(names(DT),"somecol"),with=FALSE]
# works but you have to know order of arguments, and no warning if missing
対
DT[,!"somecol",with=FALSE]
# works and easy to read. With (helpful) warning if somecol isn't there.
しかし、上記のすべては、削除されたもの以外のすべての列をコピーします。より通常:
DT[,somecol:=NULL]
参照によって名前で列を削除します。