2012-12-18 4 views

答えて

9

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 

検索the current data.table NEWS file

+0

FWIWの '?":= "'ヘルプページは、 ':='で何ができるかについての説明が少し古いです。その "例"セクションにはここに示した構文の例は含まれておらず、 "引数"セクションは 'with = FALSE'のときにのみ動作することを意味しています。 –

関連する問題