簡體   English   中英

按名稱引用`data.table`列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM