[英]Reference `data.table` column by name
假設有:
DT = data.table(a=1, b=2, "a+b"=8)
並且存在引用DT
的第三列的變量col="a+b"
如何通過引用對該列執行操作? 假設我想要乘以col
乘以2
,所以在上面的例子中,結果應該是8*2=16
,而不是(1+2)*2=6
例如,這顯然不起作用:
DT[, c:=as.name(col)*2]
這聽起來像你正在尋找get
:
DT = data.table(a=1, b=2, "a+b"=8)
col = "a+b"
DT[, get(col) * 2]
# [1] 16
DT[, c := get(col) * 2]
DT
# a b a+b c
# 1: 1 2 8 16
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.