通过get(j)访问表时我丢失了列名

时间:2017-08-03 13:33:01

标签: r data.table

对于data.table查询,我得到一个命名列,或一个未命名的列(“V1”),具体取决于我如何访问它。当使用以编程方式传递的列名来访问它时,是否有人知道为什么以及如何获得命名列?

    name <- "Column.Title"

    DT[, .(Column.Title)]
    # gives:
    #    Column.Title
    # 1: 100

    DT[, .(get(name))]
    # gives:
    #    V1
    # 1: 100

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我们需要使用with = FALSE

DT[, name, with = FALSE]

..

DT[, ..name]

或在.SDcols

中指定
DT[, .SD, .SDcols = name]