Skip to content

Latest commit

 

History

History
47 lines (44 loc) · 1.6 KB

5.md

File metadata and controls

47 lines (44 loc) · 1.6 KB

##使用:=引用来添加或更新一列 ###在一行中使用:=引用来添加或更新列. 注意: 额外的指定 (DT <- DT[...])是多余的 使用:=来更新V1列:

> DT[, V1 := round(exp(V1),2)]

这段代码没有显式的返回结果,而V1列从[1] 1 2 1 2 … 变成了 [1] 2.72 7.39 2.72 7.39 …

###使用:=引用来添加或更新多列 使用:=更新V1列和V2列:

> DT[, c("V1","V2") := list(round(exp(V1),2), LETTERS[4:6])]

同样没有显式的返回结果,V1列的结果与上相同,V2列从[1] "A" "B" "C" "A" "B" "C" … 变成: [1] "D" "E" "F" "D" "E" "F" … ###使用函数:= 上例的另一种写法,但会在书写时更易并齐。而且,当添加[]时,结果会返回在屏幕中

> DT[, ':=' (V1 =round(exp(V1),2),V2 = LETTERS[4:6])][]

与上例变化相同,但是由于在语句最后添加了[],这一结果会返回至屏幕 ###通过使用:=来移除一列 移除V1列

> DT[, V1 := NULL]

无显式的返回结果,但V1列变为NULL ###通过使用:=来移除多列 移除V1列与V2列

> DT[, c("V1","V2") := NULL]

无显式的返回结果,但V1列与V2列变为NULL

将一个包含列名的变量用小括号包裹起来,变量所传递的内容将会被删除 注意:列名为Cols.chosen的列将会被删除,这里不是删除"V1","V2"列

> Cols.chosen = c("V1","V2")
> DT[, Cols.chosen := NULL]

无显式的返回结果,列名为Cols.chosen的列将会被删除

删除指定变量Cols.chosen包含的V1列和V2列

> DT[, (Cols.chosen) := NULL]

无显式的返回结果,列名为V1和V2的列变为NULL