【发布时间】:2018-03-21 15:39:49
【问题描述】:
我正在尝试将 data.table 中名称中包含特定字符串“_cat”的几列从整数转换为分类数据类型。 data.table 中的总列数很大(超过 700 列),我不想通过超过 700 列来确定哪些列的名称中有 _cat 来更改数据类型。 (它们在data.table中随机分布)
首先我得到一个逻辑数组,指示哪些列的名称中有“_cat”:
cat_id <- grepl('_cat', colnames(dt))
不知何故,我必须使用这个 cat_id 逻辑向量将 cat_id 中具有 TRUE 的相应列转换为因子。我不确定如何使用 by 子句排除没有模式的列(那些 cat_id 条目为 FALSE 的列)
dt <- dt[, lapply(.SD, as.factor), by = ??? ]
【问题讨论】:
标签: r pattern-matching data.table type-conversion