在 data.table 中插入一行

2024-02-27

如果我有一个数据框

set.seed(12345) 
df=data.frame(a=rnorm(5),b=rnorm(5))

我可以通过例如添加一行

df[6,] =c(5,6)

如果我现在在 data.table 中执行相同的操作

library(data.table)
dt=data.table(df)
dt[6,]=c(5,6)

它因错误而失败。将行插入 data.table 的正确方法是什么?


要扩展@Franks 的答案,如果在您的特定情况下您要附加一行,则为:

set.seed(12345) 
dt1 <- data.table(a=rnorm(5), b=rnorm(5))

以下是等效的;我发现第一个更容易阅读,但第二个更快:

microbenchmark(
  rbind(dt1, list(5, 6)),
  rbindlist(list(dt1, list(5, 6)))        
  )

我们可以看到:

                             expr     min      lq  median       uq     max
           rbind(dt1, list(5, 6)) 160.516 166.058 175.089 185.1470 457.735
 rbindlist(list(dt1, list(5, 6))) 130.137 134.037 140.605 149.6365 184.326

如果你想在其他地方插入行,下面的方法也可以,但不太漂亮:

rbindlist(list(dt1[1:3, ], list(5, 6), dt1[4:5, ]))

or even

rbindlist(list(dt1[1:3, ], as.list(c(5, 6)), dt1[4:5, ]))

giving:

            a          b
1:  0.5855288 -1.8179560
2:  0.7094660  0.6300986
3: -0.1093033 -0.2761841
4:  5.0000000  6.0000000
5: -0.4534972 -0.2841597
6:  0.6058875 -0.9193220

如果您要就地修改一行(这是首选方法),则需要提前定义 data.table 的大小,即

dt1 <- data.table(a=rnorm(6), b=rnorm(6))
set(dt1, i=6L, j="a", value=5) # refer to column by name
set(dt1, i=6L, j=2L, value=6) # refer to column by number

谢谢@Boxuan,我修改了这个答案以考虑您的建议,这更快,更容易阅读。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 data.table 中插入一行 的相关文章

  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 计算 R 中各列的唯一值

    我正在尝试创建一个新变量 其中包含来自两个不同列的字符串值的唯一计数 所以我有这样的东西 例如 A tibble 4 x 2 names partners
  • 在 Rcpp 中使用其他包中的 C 函数

    我试图从 C 函数中的 cubature 包调用 C 例程来执行多维积分 我试图重现的基本 R 示例是 library cubature integrand lt function x sin x adaptIntegrate integr
  • 如何从 R 中的 txt 文件读取矩阵?

    我有一个带有矩阵的txt文件 Matrix txt 重要 数字之间没有空格 0100 1001 1100 我想在 R 中将其作为矩阵读取 我该怎么做 我尝试使用 as matrix read table Matrix txt sep 但失败
  • 如何使用 SparkR 1.6.0 写入 JDBC 源?

    使用 SparkR 1 6 0 我可以使用以下代码从 JDBC 源读取数据 jdbc url lt jdbc mysql localhost 3306 dashboard user
  • 以编程方式将字符串宽度值插入到 sprintf() 中

    我正在尝试以编程方式将字符串宽度值插入到sprintf 格式 期望的结果是 sprintf 20s hello 1 hello 但我想插入20在同一通话中即时进行 因此它可以是任何号码 我努力了 sprintf ds 20 hello 1
  • 删除极坐标图边缘的多余空间和圆环

    我有一个极坐标图ggplot2我已经非常接近完成 相当简单的情节 我已经能够在删除矩形边框方面获得帮助 但我不需要删除最后一个范围轮廓与带有方位角标签的绘图周围的环之间的额外空间 我希望该图的边界为 15 000 而不是 15 214 我编
  • 如何在将两根柱子保持在一起的同时熔化柱子?

    我有这种宽格式的数据 我想将其转换为长格式 Cond Construct Line Plant Tube shoot weight shoot Tube root weight root 1 Standard NA NA 2 199 95
  • 实三次多项式的最快数值解?

    R 问题 寻找最快的方法来数值求解一堆已知具有实系数和三个实根的任意三次方程 据报道 R 中的 polyroot 函数对复杂多项式使用 Jenkins Traub 算法 419 但对于实多项式 作者参考了他们早期的工作 对于实三次或更一般的
  • 闭包作为数据合并习惯的解决方案

    我正在尝试解决闭包问题 而且我think我发现了一个案例 他们可能会有所帮助 我有以下几部分需要处理 一组正则表达式 旨在清理状态名称 位于函数中 具有州名称 上述函数创建的标准化形式 和州 ID 代码的 data frame 用于链接两者
  • 如何使用 dplyr 独立过滤每列的行

    我有以下内容 library tidyverse df lt tibble tribble gene colB colC a 1 2 b 2 3 c 3 4 d 1 1 df gt A tibble 4 x 3 gt gene colB c
  • 使用 R 将我的 shapefile 数据投影到传单地图上

    我 在 Win7 上 试图获取我的 shapefile 数据 Here https www dropbox com s f3d46itleoozzjz shapefiles zip dl 0是数据文件 要使用显示leaflet包裹 但没有任
  • r - 选择每组最后出现的 n 次

    情况 我有一个数据框df df lt structure list person structure c 1L 1L 1L 1L 2L 2L 2L 3L 3L Label c pA pB pC class factor date struc
  • Rstudio 中的 Sweave — pdf 中没有显示任何图

    这里是 Sweave Latex 新手 我在生成常规函数输出时没有问题 但绘图没有显示 这是一个基本示例 documentclass article begin document SweaveOpts concordance TRUE lt
  • dplyr / left_join 中的嵌套管链

    在尝试获取分组滞后变量的过程中 仅使用这是不可能的 lag 建议的解决方案是将数据拉出 滞后不同的行 然后重新加入它 我更喜欢在不创建中间对象的情况下执行此操作 并且希望在链中间执行此操作 然而 它似乎没有像我预期的那样工作 问题似乎是使用
  • 从网络源获取 R 中的数据作为数据框

    我正在尝试使用 RCurl 包将一些空气污染背景数据作为 data frame 直接加载到 R 中 该网站有 3 个下拉框 用于在下载 csv 文件之前选择选项 如下图所示 我试图从下拉框中选择 3 个值 并使用 下载 CSV 按钮将数据作
  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • 如何使用 r 中的 caret 包在最佳调整超参数的 10 倍交叉验证中获得每次折叠的预测?

    我试图使用 R 中的插入符包使用 10 倍交叉验证和 3 次重复来运行 SVM 模型 我想使用最佳调整的超参数获得每次折叠的预测结果 我正在使用以下代码 Load packages library mlbench library caret
  • 将summary()写入as.data.frame以在ggplot / R中使用

    请查找 af 数据样本t below 我正在使用以下方法进行竞争风险分析etmCIF来自etm package 产生以下结果 这很好 但需要更好的图形 曾经有一个ggtrans etm函数将数据导入ggplot 然而 这个功能显然被删除了
  • R read_excel:libxls 错误:无法解析文件

    我试图使用 readxl read excel 将 xls 文件读入 R 但它给出了以下错误 Error filepath data xls libxls error Unable to parse file 还尝试了 readxl exc

随机推荐

  • 将 Android CheckBox 设置为不同的图像...然后返回原始图像

    我正在使用以下 非常常见 代码来更改 Android 应用程序中的复选框图像 mCheck CheckBox findViewById R id chkMine mCheck setButtonDrawable R drawable my
  • 如何通过属性名称和/或值查找锚标记? [复制]

    这个问题在这里已经有答案了 这是我正在尝试自动化的网络 https www supremenewyork com shop sweatshirts xi9sboa21 u2te1fdw8 https www supremenewyork c
  • 为 Databricks 生成数据库架构图

    我正在创建一个 Databricks 应用程序 并且数据库架构变得非常重要 有没有办法为 Databricks 数据库生成架构图 类似于可以从 mysql 生成的架构图 有两种可能的变体 使用 Spark SQL 与show databas
  • 将 C/C++ 回调传递到 matlab 引擎

    我有一个 C 文件 启动 matlab 引擎 calls matlab optimize 一个编译后的 m 文件 在内部运行 matlab 优化器之一 打印结果 停止发动机并退出 这很好用 我现在想将第二行更改为 calls matlab
  • Xcode 文档图标未更新

    我创建了一个 icns并在我的项目的 文档类型 部分中进行设置 但 Finder 中的文档图标仍然是通用的 我注意到 如果更改文档类型的文件扩展名 则会显示该图标 是否有我需要清除的缓存或其他方式来更新图标而不更改文件扩展名 要强制刷新图标
  • Sequelize 同步与迁移

    我正在学习 Sequelize 我想了解一些有关同步与迁移的说明 我知道同步将根据我的模型架构创建丢失的表 但我还读到同步用于初始化数据库 而迁移用于生产 如果是这种情况 express example 显示调用同步来自bin www ht
  • 在哪里可以获得 MediaWiki 的模板?

    我注意到很多基于 mediawiki 的网站都使用 Robelbox Ambox 等模板 我在哪里可以获得它们以及如何安装它们 It s a PITA http www urbandictionary com define php term
  • 为什么 Python 的 lambda 表达式中不允许赋值?

    这不是重复的Python 中 lambda 表达式内的赋值 https stackoverflow com questions 6282042 assignment inside lambda expression in python 即我
  • 如何在 JavaFX2 中的任务之间重置进度指示器?

    我的主屏幕 UI 上有一个进度指示器 由各种选项卡和服务共享 每个 TabController 都有自己的 Service 实例 在我的 MainController 类中 对于每个选项卡 我已将每个服务的进度属性绑定到 ProgressI
  • 通过 Kivy 在 Android 上运行 Tensorflow

    I found 这个答案 https stackoverflow com a 34495029 828184这让我想到了一个想法 你可以在 Android 手机上使用 kivy 而不是使用编译后的张量流图 这样你就可以使用直接与张量流图对话
  • 将数组中的相同值分组

    我有一个数组 里面有一些值 我希望返回另一个数组 该数组的值分组到自己的数组中 所以我想要达到的结果是这样的 var arr 1 1 2 2 2 3 3 4 4 4 4 5 6 var groupedArr 1 1 2 2 2 3 3 4
  • Xamarin.Android 中的测试活动

    我想对活动生命周期的一些交互进行单元测试 我正在开发一个数据绑定库 没有它就无法进行单元测试 安卓也有一些不错的文档 http developer android com tools testing activity testing htm
  • “代码生成器已取消优化 [某些文件] 的样式,因为它超过了最大值“100KB””是什么意思?

    我向我的项目添加了一个新的 npm 包 并在我的一个模块中需要它 现在我从 webpack 收到这条消息 build modulesNote The code generator has deoptimised the styling of
  • SSRS 选择性分页符

    我正在处理的有关财产记录的当前报告在 SSRS 中遇到一些格式问题 我的报告由 6 个在横向视图中对齐的 tablixes 构建而成 旨在保留特定的布局以供潜在的报告打印 第一个 Tablix 包含有关相关财产和所有者的一般信息 该信息将是
  • 如何以编程方式选择 MKUserLocation?

    标题和副标题可以添加到 iOS 显示的用户位置MK用户位置 https stackoverflow com questions 6400880 on mkuserlocation how do i show my own custom me
  • 如何重置向南迁移以捕获 django 模型的当前状态

    我有一个应用程序 目前有 35 次向南迁移 在设置新部署时 我们经常创建新部署 这些需要一段时间才能完成 并且应用程序正在不断发展 添加更多迁移 此外 迁移还包括一些潜在的复杂数据迁移和一些破坏 SQLite3 的自定义迁移 目前这不是一个
  • 像 Instagram 一样带有圆角的文本背景

    我想像 Instagram 一样创建具有背景颜色和圆角的文本 我能够实现背景颜色 但无法创建圆角 到目前为止我所拥有的 下面是上面截图的源代码 void createBackgroundColor self txtView layoutMa
  • CoffeeScript - 编译当前目录和所有子目录中的所有 .coffee 文件

    编译当前目录和所有子目录中的所有 coffee 文件的最简单方法是什么 您可以使用集成的coffee外壳工具 coffee output lib compile src 编译 coffee 文件的目录树src到 js 文件的并行树中lib
  • CMake 行为:使用 Visual Studio 的自定义配置类型需要多次运行 cmake 才能正确显示。这是故意的吗?

    Context 我正在将一个项目从普通 Makefile 迁移到 CMake 以添加对多个编译器 gfortran ifort 和操作系统 Windows Linux 的支持 当我完成整个事情时 我正在尝试简化 CMake 行为并为用户提供
  • 在 data.table 中插入一行

    如果我有一个数据框 set seed 12345 df data frame a rnorm 5 b rnorm 5 我可以通过例如添加一行 df 6 c 5 6 如果我现在在 data table 中执行相同的操作 library dat