将 data.table 转换为数据框而不复制[重复]

2024-07-04

本问答集 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(使用前将#替换为@)

将 data.table 转换为数据框而不复制[重复] 的相关文章

  • plm 问题,重复时间 ID 错误

    我正在运行固定效应回归并收到以下错误 fixed effects lt plm GNI lag GNI imposition ExpImp democ data sanctions data6 index c country sanctio
  • r tidyverse spread() 使用多个键值对不折叠行

    我正在尝试 spread 几个键 值对 但公共值列不会折叠 我认为这可能与之前的一些处理有关 或者更可能的是我不知道传播两个或更多键 值对以获得我期望的结果的正确方法 我从这个数据集开始 library tidyverse df lt ti
  • r tidyverse spread() 使用多个键值对不折叠行

    我正在尝试 spread 几个键 值对 但公共值列不会折叠 我认为这可能与之前的一些处理有关 或者更可能的是我不知道传播两个或更多键 值对以获得我期望的结果的正确方法 我从这个数据集开始 library tidyverse df lt ti
  • RStudio 闪亮列表,通过检查数据表中的行

    我想要一个与此类似的工作示例 https demo shinyapps io 029 row selection https demo shinyapps io 029 row selection 我在运行的闪亮服务器中尝试了该示例Shin
  • r - 按每天变化的日期过滤行

    该数据集为 1 列 包含数千行 其中包含日期 2021 09 23T06 38 53 458Z 使用以下代码 我可以对昨天的行进行子集化 rows from yesterday lt df df timestamp like 2021 09
  • 带有实心点符号和图例的绘图函数

    我想用不同的颜色和点样式绘制两个函数并带有相应的图例 简单的R 我有几个问题 我在用pch 21 and pch 22 我的理解是它们是 填充 符号 它们确实按照图例中的预期填充 但在图表本身上却显得空心 怎么了 我可以在不手动指定网格的情
  • R ggplot2 图例内的图例

    因此 我有以下 data frame 并且我想在一张图中为每个 zval 和类型 tp 生成 yval 与 xval 的两个图 左边 gt df xval yval se zval cond 1 1 0 1 831564e 02 1 831
  • RMarkdown。如何减少标题栏和正文开头之间的间距

    我已经在 Mac 上通过 RStudio 成功使用了 RMarkdown 最近升级到 RStudio 1 2 5019 和tinytex 0 18 现在我的 标题块 和 第一个正文文本 标题 之间的垂直间距增加了 简单的例子 故意排除aut
  • RODBC 查询错误地返回零行

    我遇到过类似的帖子 但我的问题看起来不同 我无法使用 rows at time 1 或 believeNRows False 修复这些查询的结果 我正在尝试使用 R 中的 RODBC 连接到 Oracle 数据库 我能够连接到数据库 但除了
  • pmatch 函数的属性

    我不明白内置函数的行为pmatch 部分字符串匹配 描述提供了以下示例 pmatch m c mean median mode returns NA instead of 1 2 3 但使用 pmatch m mean returns 1
  • 基于 R 中的日期/时间范围连接数据

    我有一个文件 位置 其中包含 x y 坐标和日期 时间标识 我想从第二个表 天气 获取信息 该表具有 相似 的日期 时间变量和协变量 温度和风速 诀窍是两个表中的日期 时间数字并不完全相同 我想选择的天气数据是closest从位置数据 我知
  • grid 在控制台中运行时找到字体,但在渲染 Rmd 时找不到字体

    当我从控制台下面的最小 Rmarkdown 运行该块时 会显示正确的字体 但是 当我尝试将 Rmarkdown 文档编译为 pdf 时 出现错误 font family Pacifico not found in PostScript fo
  • 数据表中的 sAjaxSource 返回错误

    我不断收到此错误警报 DataTables 警告 表 id msnc table 从第 0 行的数据源请求未知参数 1 这是我的代码片段 HTML table class dataTable thead tr th Doc th th Da
  • ggplot:aes 与 aes_string,或如何以编程方式指定列名称?

    假设我们有以下数据框 data lt data frame time 1 10 y1 runif 10 y2 runif 10 y3 runif 10 我们想要创建一个像这样的情节 p lt ggplot data aes x time p
  • 如何判断一个点是否在椭圆内

    我之前发布过类似的问题 我试图确定一个点是否位于椭圆内 基本上我生成一些二元正态数据并创建一个椭圆 这是我使用的代码 library MASS set seed 1234 x1 lt NULL x2 lt NULL k lt 1 Sigma
  • gc() 和 rm() 有什么区别

    我定期使用调用来清理 R 中的内存rm list ls 我需要调用垃圾收集器吗gc 在那之后 这2个函数有什么区别 做gc call rm 对于某些变量 首先 需要注意的是 两者有很大不同gc不删除any您仍在使用的变量 它只会为您不再有权
  • 将 data.table 转换为数据框而不复制[重复]

    这个问题在这里已经有答案了 本问答集 https stackoverflow com questions 20345022 convert a data frame to a data table without copy询问如何在不复制的
  • do.call(rbind, ...) 是否有更高阶的替代品?

    考虑以下数据框A A lt data frame ID c 1 1 1 2 2 2 num c 6 2 8 3 3 1 With A 我想分开ID 然后计算差值num 可以 几乎 获得所需的结果 do call rbind Map func
  • gsub() 中超过 9 个反向引用

    如何使用超过 9 个反向引用的 gsub 我希望下面示例中的输出为 e g i j o gt test lt abcdefghijklmnop gt gsub w w w w w w w w w w w w w w w w 5 7 9 10
  • 查找数据框中前 n 行的总和

    我想找到前面的总和n数据框中的行 例如 id 1 10 vals c 4 7 2 9 7 0 4 6 1 8 test data frame id vals So for n 3 我想将下一列计算为 test sum c NA NA 13

随机推荐