有沒有辦法阻止data.table
在通過引用分配新列後打印新的data.table?我收集的標準行爲是如何在v1.8.3之前的R {data.table}中使用`:=`時抑制輸出?
library(data.table)
example(data.table)
DT
# x y v
# 1: a 1 42
# 2: a 3 42
# 3: a 6 42
# 4: b 1 11
# 5: b 3 11
# 6: b 6 11
# 7: c 1 7
# 8: c 3 8
# 9: c 6 9
DT[,z:=1:nrow(DT)]
# x y v z
# 1: a 1 42 1
# 2: a 3 42 2
# 3: a 6 42 3
# 4: b 1 11 4
# 5: b 3 11 5
# 6: b 6 11 6
# 7: c 1 7 7
# 8: c 3 8 8
# 9: c 6 9 9
即分配後將表格打印到屏幕上。有沒有辦法阻止data.table在分配新列z之後顯示新表?我知道我可以說
DT <- copy(DT[,z:=1:nrow(DT)])
停止這種行爲,但被擊敗的:=
目的(其目的是避免副本)。
謝謝!在這種情況下,我會使用'<-'。 – 2012-07-06 09:44:51
+10我沒有想過嘗試'DT <-DT [i,col:= value]'。變量名稱的重複不是很好,但有效。這給了我一個想法如何讓'DT [i,col:= value]'不可見地返回:現在被提升爲[FR#2128](https://r-forge.r-project.org/tracker/index。 php?func = detail&aid = 2128&group_id = 240&atid = 978),謝謝! – 2012-07-06 10:32:51
+1爲強大的聰明hack + FAQ中有趣的片段。 – 2012-07-06 12:58:52