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

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 中带有文件名的 For 循环

    我有一个文件列表 例如 nE pT sbj01 e2 2 csv nE pT sbj02 e2 2 csv nE pT sbj04 e2 2 csv nE pT sbj05 e2 2 csv nE pT sbj09 e2 2 csv nE
  • 使用 R Shiny 从 XLConnect 下载 Excel 文件

    有没有人尝试过使用 R Shiny 中的下载处理程序通过 XLConnect 下载新创建的 Excel 文件 在 ui R 中有一行不起眼的行 downloadButton downloadData Download 在 server R
  • 从 R 中的向量中选择所有可能的元组

    我正在尝试用 R 编写一个程序 当给定一个向量时 将返回所有可能的tuples http en wikipedia org wiki Tuples该向量中的元素 例如 元组 c a b c c a b c 出租车 c a c c b c c
  • R::bigmemory - 如何创建角色big.matrix?

    我尝试使用bigmemory封装在R我一开始就陷入困境 我愿意 temp lt matrix paste a 1 10 5 2 并得到一个字符矩阵 没关系 但后来我尝试 x lt as big matrix temp type char 我
  • .wav 文件长度/持续时间,无需读入文件

    有没有办法提取有关 wav 文件长度 持续时间的信息 而无需在 R 中读取文件 我有数千个这样的文件 如果我必须阅读每个文件才能找到其持续时间 那将需要很长时间 Windows 文件资源管理器为您提供了打开 长度 字段的选项 并且您可以查看
  • 是否可以通过扫描从控制台读取而不回显字符?

    这是一个示例函数 passwordEntry lt function cat Enter your password pwd lt scan n 1 what character quiet TRUE invisible pwd 并测试该功
  • 如何从 R 运行带有特定模块的 perl 脚本?

    我可以从终端运行 perl 脚本 myperlscript pl 没有任何问题 但是 如果我尝试从 RStudio 中运行相同的 perl 脚本 则会出现以下错误 command lt myperlscript pl outputfile
  • 如何用外部图像填充地图边界?

    我正在创建一张带有州边界的巴西地图 这可以直接使用ggplot2 and geom sf 然而 这一次 我不想用数据填充每个状态的颜色 而是想用外部图像 png 填充每个状态的边界 类似于this https online olivet e
  • IEnumerable 作为 DataTable 性能问题

    我有以下扩展 它生成一个DataTable从一个IEnumerable public static DataTable AsDataTable
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 time milk Animal ID 30 25 6 1 31 27 2 1 32 24 4 1 33 17 4 1 34 33 6 1 35 25 4 1 33 29 4 2 34 25 4 2 35 24
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要
  • 选择 R 中的数据表中隐藏时(在绿色加号下方)列的显示顺序

    Context 使用 DataTables 库制作交互式表格时 当屏幕宽度对于列的数量和宽度来说太窄时 列将隐藏在绿色 号下 我有一个非常宽的表格 有 20 多列 其中一些内容非常冗长 因此某些列在所有屏幕宽度下总是隐藏的 每次隐藏新列时
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • 在 R 中使用 lapply 绘制多个数据帧

    我正在尝试使用 lapply 函数绘制多个数据帧 每个数据帧一个图 但是尽管有关此主题的所有帖子我都找不到答案 因为我不断收到错误 图的输出列表为空 我的数据结构如下 df1 lt mtcars gt group by cyl gt tal
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu

随机推荐

  • 通过命令行连接到 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