【发布时间】:2016-03-25 13:59:44
【问题描述】:
我有一个字符向量 x,我想快速将其转换为单行 data.table。命令data.table(x) 返回一列data.table。现在,data.table(t(x)) 完成了工作,但我想知道是否有更快的方法。
【问题讨论】:
-
真正的问题是:你为什么要这样做?有一个只有一行的表,其中每个元素都是相同的,这没什么意义。你确定吗?标准的
character向量(甚至是只有一行的矩阵)似乎非常适合这种对象。 -
@nicola 用于 rbinding 目的。我有一个不同大小的向量列表,我想将其转换为 data.table 进行分析。
-
如果是这种情况,您应该先
rbind,然后再转换为data.table。将每一行转换为data.table和rbind之后会更糟。 -
@nicola 如果
y是我的字符向量列表。rbindlist(lapply(y, as.list))似乎确实快了很多!现在我有点贪心了。我仍然必须遍历 y - 有更快的方法吗?rbindlist现在是我词典中的一个新函数 - 是否有其他函数可以在不先将所有内容转换为列表的情况下处理这个问题? -
我建议您再问一个问题,准确说明您的输入和所需的输出。无法判断现阶段什么对您更好。
标签: r optimization data.table