本问答集 https://stackoverflow.com/questions/20345022/convert-a-data-frame-to-a-data-table-without-copy询问如何在不复制的情况下将 data.frame 转换为 data.table ,并展示如何使用手动方法和优秀的方法来执行此操作setDT()
功能。
如何安全地转换回来from数据表to没有复制的数据框?问题和推理与上面链接的问题类似。
我认为由于上面评论中列出的所有原因,这完全是一个误导的想法,并且可能是我不知道的原因,但您可以替换[.data.table
功能与[data.frame
。这将防止 @Arun 提出的关于需要使用额外参数的问题[
-功能:
assignInNamespace( "[.data.table", getAnywhere( `[.data.frame`), ns="data.table")
由于继承,通常检查“data.frame”类的所有函数都已经正常工作。
编辑:Arun 的评论提供了一种不那么激烈的方法,因为覆盖核心 data.table '[' 函数本质上是“不诚实的”。我想更诚实的方法是卸载整个命名空间。如果目标只是使用fread
,我想知道是否可以只导入该函数和任何依赖项。
setattr(DT, 'class', 'data.frame')
但仍然认为这是“倒退”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)