如何将数据表中的多个列设置为同一数据表中不同列的值?

2024-03-18

假设我有一个包含 6 列的数据框,并且我想将 col 1:3 设置为 col 4:6 中的值(合并时会经常出现这种情况)。使用数据框很容易:

set.seed(1)
df <- data.frame(matrix(sample(1:100,30),ncol=6))
df
#   X1 X2 X3 X4 X5 X6
# 1 27 86 19 43 75 29
# 2 37 97 16 88 17  1
# 3 57 62 61 83 51 28
# 4 89 58 34 32 10 81
# 5 20  6 67 63 21 25

df[,1:3] <- df[,4:6]                    # very, very straightforward...
df
#   X1 X2 X3 X4 X5 X6
# 1 43 75 29 43 75 29
# 2 88 17  1 88 17  1
# 3 83 51 28 83 51 28
# 4 32 10 81 32 10 81
# 5 63 21 25 63 21 25

对于 data.tables,没有那么多:

library(data.table)
dt <- data.table(df)
dt[,1:3,with=F] <- dt[,4:6,with=F]
## Error in `[<-.data.table`(`*tmp*`, , 1:3, with = F, value = list(X4 = c(43L,  : unused argument (with = F)

这是可行的,但对于这样一个简单的转换来说似乎非常复杂:

dt[, names(dt)[1:3]:=dt[,4:6,with=F]]   # very, very complicated...
dt
#    X1 X2 X3 X4 X5 X6
# 1: 43 75 29 43 75 29
# 2: 88 17  1 88 17  1
# 3: 83 51 28 83 51 28
# 4: 32 10 81 32 10 81
# 5: 63 21 25 63 21 25

问题是:是否有更简单的方法将数据表中的一组列分配给同一数据表中另一组列的值?


您可以使用:=运算符和名称列号.SD:

dt[, 1:3 := .SD, .SDcols = 4:6]

> dt
   X1 X2 X3 X4 X5 X6
1: 43 75 29 43 75 29
2: 88 17  1 88 17  1
3: 83 51 28 83 51 28
4: 32 10 81 32 10 81
5: 63 21 25 63 21 25
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将数据表中的多个列设置为同一数据表中不同列的值? 的相关文章

  • 我可以使用哪个 R 函数来查找两条线的交点?

    我刚刚研究了 stackoverflow 上所有的 在 R 中寻找交集 问题 它们要么是关于曲线 要么是关于分布像这个 https stackoverflow com questions 20519431 finding point of
  • `dplyr::_join` 函数的命名向量“by”参数[重复]

    这个问题在这里已经有答案了 我正在写一个函数dplyr join两个数据框by不同的列 第一个数据帧的列名称动态指定为函数参数 我相信我需要使用rlang准引用 元编程 但未能找到可行的解决方案 我很感激任何建议 library dplyr
  • 在 RcppArmadillo 中将列向量乘以数值标量

    我在编译这个简单的程序时遇到一些麻烦c 代码使用Rcpp和RcppArmadillo包裹 采用以下简单示例 将矩阵的每一列乘以数值标量 code lt arma mat out Rcpp as
  • R - 重塑 - 熔化错误

    我正在尝试融化数据框 但出现了这个奇怪的错误 有什么想法吗 str zx7 data frame 519 obs of 5 variables calday new Date format 2011 01 03 2011 01 04 201
  • 在r中的某个阈值处破坏 cumsum() 函数

    例如我有以下代码 cumsum 1 100 我想打破它 如果一个元素 i 1 大于3000 我怎样才能做到这一点 因此 而不是这个结果 1 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 15
  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • DataTable.GetChanges() 不断返回 NULL

    我正在尝试获取存在于的所有行allData但不在removeData public static DataTable RemoveDuplicateRows DataTable allData DataTable removeData re
  • R:如何将字符/数字转为1,NA转为0?

    有没有一种简单的方法可以将列的字符 数字变为 1 将 NA 变为 0 这里有一些示例数据 我想将其应用于 3 4 structure list Item Code c 176L 187L 191L 201L 217L 220L Item x
  • 平滑连续 2D 点

    UPDATE 感谢 user20650和 李哲源Zheyuan Li 这是我想出的解决方案 Example data set df 3600 observations points Create a vector of the cumula
  • 使用数据帧的 R 中的 EWMA 波动性

    我正在尝试从一系列股票每日收益中获取 EWMA 波动性 这些收益来自一个名为base retorno diario Data IBOV ABEV3 AEDU3 ALLL3 BBAS3 BBDC3 BBDC4 1 2000 01 04 0 0
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • 如何像在facet_grid中一样在facet_wrap中定位条带标签

    我想在使用时删除多余的条带标签facet wrap 并用两个变量进行分面 并且都是自由尺度的 例如 这个facet wrap下图的版本 library ggplot2 dt lt txhousing txhousing year in 20
  • 自定义轴缩放后 ggplot2 缺少标签

    我正在尝试使用我的 x 轴应用自定义缩放ggplot2 and scales trans new 但是 当我这样做时 一些轴标签丢失了 有人可以帮我弄清楚为什么吗 Setup library tidyverse the data ds lt
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • 无法将“gather”输出的列名称更改为默认名称以外的任何名称

    我正在尝试使用gather in the tidyr包 但我无法更改默认名称的输出列名称 例如 df data frame time 1 100 a 1 100 b 101 200 df long df gt gather foo bar
  • 将整个包传递给雪簇

    我正在尝试并行化 使用snow parLapply 一些依赖于包 即除snow 调用函数中引用的对象parLapply必须使用显式传递给集群clusterExport 有没有办法将整个包传递到集群 而不必显式命名每个函数 包括用户函数调用的
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • 如何使用plotmath更新ggplot图例标签

    我正在尝试更新ggplot要使用的图例标签plotmath但是 当我这样做时 它将之前组合的图例分成两部分 通过一个例子可能更容易理解 test data and the default plot gives the correct col
  • 斯皮尔曼相关性和联系

    我正在一小组配对排名上计算斯皮尔曼的 rho 斯皮尔曼因处理领带不当而闻名 例如 取2组8个排名 即使两组中有6个是平局 相关性仍然很高 gt cor test c 1 2 3 4 5 6 7 8 c 0 0 0 0 0 0 7 8 met

随机推荐

  • 通过命令行连接到 smtp.gmail.com

    我正在编写一个通过有效的 GMail 用户 ID 和密码发送邮件的应用程序 我只是想在 Windows XP 命令行上模拟 SMTP 连接 当我远程登录时smtp gmail com在 465 端口 我没有看到任何东西 带标题的空白命令窗口
  • PHPWord 导出给出损坏的 Word 文件

    我使用了 PHPWord 网站上的示例代码 http phpword codeplex com documentation http phpword codeplex com documentation当我尝试使用 Word 打开它时 出现
  • Laravel Production 问题 - 使用 Laravel 4.1.x 更新作曲家

    到目前为止 我在部署 Laravel 项目时还没有遇到任何问题 我已经为这个项目部署了将近一年 但出现了一些新的错误 首先 我无法运行作曲家更新 因为它显示此错误 composer update Warning This developme
  • 使用 JDBC 实现迭代器设计模式

    我正在解决以下问题 迭代器设计模式是一种封装性很强的设计模式 举个例子 图书馆需要一个图书管理系统 一堂课为books 存储他们的详细信息和一个类library存储书籍和书架编号 假设图书馆希望使用以下方式将数据存储在数据库中JDBC 如何
  • 程序自我更新的最佳方式

    终止程序然后从正在终止的程序运行附加代码的最佳方法是什么 例如 程序自我更新的最佳方式是什么 您有几个选择 您可以使用另一个应用程序 exe 来进行自动更新 这可能是最好的方法 您还可以在程序运行时重命名程序的 exe 因此 您可以从某个更
  • Java中获取资源文件夹中的文件

    我想读取 Java 项目的资源文件夹中的文件 我为此使用了以下代码 MyClass class getResource myFile xsd getPath 我想检查文件的路径 但它给出了以下路径 file home malintha m2
  • iOS7 导航栏上方的状态栏

    我正在使用 iOS7 测试我的应用程序 但状态栏有问题 基本上状态栏出现在导航栏上 如下图所示 我试着打电话给我viewDidLoad self edgesForExtendedLayout UIRectEdgeNone self auto
  • Webpack @font-face相对路径问题

    我在 angular2 应用程序中使用相对路径加载字体时遇到问题 在 app ts 中我有这两个导入 import public css fonts less import public css main less 在 fonts less
  • WPF组合框基于文本输入的动态过滤

    我似乎无法找到一种直接方法来实现将文本输入过滤到 WPF 组合框中的项目列表中 通过将 IsTextSearchEnabled 设置为 true 组合框下拉列表将跳转到第一个匹配项 我需要的是将列表过滤为与文本字符串匹配的任何内容 例如 如
  • 无法安装 Windows 7 SDK(需要已安装 .NET Framework 4)

    I m trying to install windows 7 SDK on Windows 8 and Windows 10 machines and got this error 如果我单击 确定 我将无法安装我需要的 VC 编译器 因
  • 如何在文件夹及其所有子文件夹中搜索特定类型的文件

    我试图在给定文件夹中搜索给定类型的所有文件并将它们复制到新文件夹 我需要指定一个根文件夹 并在该文件夹及其所有子文件夹中搜索与给定类型匹配的任何文件 如何搜索根文件夹的子文件夹及其子文件夹 看起来递归方法可行 但我无法正确实现 尝试这个 D
  • jQuery 更改媒体查询宽度值

    是否可以与jQuery或其他任何改变宽度值 media query css当页面运行时 例如 如果在 style css 中我有 media screen and min width 400px whatever 将其更改为500px网站加
  • 重新运行(相同)代码后出现 KeyError

    当我尝试运行以下代码时返回 KeyError import pandas as pd import networkx as nx from matplotlib import pyplot as plt G nx from pandas e
  • 如何使用 PIL 创建透明 gif(或 png)(python-imaging)

    尝试去create带 PIL 的透明 gif 到目前为止我有这个 from PIL import Image img Image new RGBA 100 100 255 0 0 0 img save test gif GIF transp
  • java中维护插入顺序的Maps(集合)

    我需要在 Android 应用程序中使用 Java 中的地图 但问题是列表会自动排序 如何使用地图以与插入数据相同的顺序获取数据 你应该使用LinkedHashMap为此目的 访问安卓文档 http developer android co
  • 使用fluid_styled_content,如何在TYPO3 7.5和7 LTS中创建自定义内容元素?

    有人告诉我 使用新的 Fluid styled content 系统扩展在 TYPO3 7 5 中为后端设置自定义的结构化内容元素是一件轻而易举的事 看完之后sysext fluid styled content and sysext ba
  • 如何从 Canvas 对象中删除边框和角? [Fabric.js]

    我在一个项目中使用fabric js 用户可以在画布上绘图 然后保存到png图像 使用canvas toDataURL 函数 但是 我们注意到 如果用户移动对象并单击 保存 按钮 它会保存先前移动的对象的边框和角 当您移动或调整对象大小时
  • 在 SQL Server 2005 中,当用户拥有管理员权限时,有没有办法将默认模式设置为 dbo 以外的任何模式? [复制]

    这个问题在这里已经有答案了 我正在使用带有 Windows 身份验证的 SQL Server 2005 我的登录有管理员权限 对于我的登录 我有一个用户映射到数据库 默认模式设置为 my schema 我的登录名不是数据库的所有者 当我登录
  • 使用 java 脚本未更改 HTML 输入字段的属性

    我有一个表格 有两个字段文具类型和文具请求数量 表格的信纸 rqst 数量字段接受该数字 可以在此字段中输入的最小数量 数量 取决于信纸类型字段的值 即 如果信纸类型字段值为 铅笔 则信纸请求数量字段的最小值属性应为 5 并且如果是 记事本
  • 如何将数据表中的多个列设置为同一数据表中不同列的值?

    假设我有一个包含 6 列的数据框 并且我想将 col 1 3 设置为 col 4 6 中的值 合并时会经常出现这种情况 使用数据框很容易 set seed 1 df lt data frame matrix sample 1 100 30