11
同じ文でdata.tableの複数の列を更新することは可能ですか?data.tableの複数の列を更新する
私は、彼らが
dt[,c("onecol","anothercol"):=1]
を行う例をいくつか見てきましたが、私はこの、各列
同じ文でdata.tableの複数の列を更新することは可能ですか?data.tableの複数の列を更新する
私は、彼らが
dt[,c("onecol","anothercol"):=1]
を行う例をいくつか見てきましたが、私はこの、各列
Yesに異なる数式を割り当てる方法がわからない
dt[,onecol:=1 anothercol:=2]
ような何かバージョン1.8.4以降で可能です:
library(data.table)
dt <- data.table(a=1:4, b=4:1)
dt[,c("a", "b") := list(min(a), max(b))]
# dt
# a b
# 1: 1 4
# 2: 1 4
# 3: 1 4
# 4: 1 4
より読みやすい方法で同じことをやって
または、:これもby=
引数で動作することを確認するには、「複数のLHS」の
dt <- data.table(a=1:4, b=4:1)
dt[,`:=`(a = min(a),
b = max(a))]
dt
# a b
# 1: 1 4
# 2: 1 4
# 3: 1 4
# 4: 1 4
FWIWの '?":= "'ヘルプページは、 ':='で何ができるかについての説明が少し古いです。その "例"セクションにはここに示した構文の例は含まれておらず、 "引数"セクションは 'with = FALSE'のときにのみ動作することを意味しています。 –