R:更新data.table中的列名称范围

时间:2017-02-07 09:50:08

标签: r data.table

是否有一种优雅的方法来更新data.table中名称选择的列范围?

例如,我们说

foreach ($array['result']['open'] as $dynamicKey => $item) {
    if ($key = array_search('Value you are looking for', $item) {
       $datawanted=$array['result']['open'][$dynamicKey][$key];
    }
}

我想使用dt <- data.table(A = LETTERS[1:5], B = LETTERS[6:10], C = LETTERS[11:15]) 为A到B的所有列添加引号。

我试过了:

function(x) paste0('"', x, '"')

没有结果。

1 个答案:

答案 0 :(得分:1)

我们可以使用names,甚至可以使用c("A", "B")

f1 <- function(dat, v1) Reduce(seq, which(colnames(dat) %in% v1))
i1 <- f1(dt, c('A', 'B'))
dt[, (i1) := lapply(.SD, function(x) paste0('"', x, '"')), .SDcols=A:B]