R data.table 按名称进行多列转换[重复]

2023-12-11

设 DT 为数据表:

DT<-data.table(V1=factor(1:10),
           V2=factor(1:10),
           ...
           V9=factor(1:10),)

是否有更好/更简单的方法来进行多列因子转换,如下所示:

DT[,`:=`(
  Vn1=as.numeric(V1),
  Vn2=as.numeric(V2),
  Vn3=as.numeric(V3),
  Vn4=as.numeric(V4),
  Vn5=as.numeric(V5),
  Vn6=as.numeric(V6),
  Vn7=as.numeric(V7),
  Vn8=as.numeric(V8),
  Vn9=as.numeric(V9)
)]

列名完全是任意的。


是的,最有效的可能是运行set in a for loop

设置要修改的所需列(您也可以使用选择所有名称names(DT)反而)

cols <- c("V1", "V2", "V3") 

然后运行循环

for (j in cols) set(DT, i = NULL, j = j, value = as.numeric(DT[[j]]))

或者效率较低但更具可读性的方式就是(注意括号cols评估变量)

## if you chose all the names in DT, you don't need to specify the `.SDcols` parameter
DT[, (cols) := lapply(.SD, as.numeric), .SDcols = cols] 

即使对于大数据集,两者也应该是高效的。您可以阅读更多有关data.table basics here


Though beware转换的factors to numeric以这种方式上课,请参阅here更多细节

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

R data.table 按名称进行多列转换[重复] 的相关文章

  • 您使用 Attach() 或按名称或切片调用变量吗?

    许多介绍 R 的书籍和指南都是从附加一个 R 语言的实践开始的 data frame这样您就可以通过名称调用变量 我一直发现用以下方式调用变量是有利的 符号或方括号切片 2 这样我就可以使用多个data frames 而不混淆它们和 或使用
  • 循环遍历列并将字符串长度添加为新列

    我有一个包含多列的数据框 并且希望为每个列输出一个单独的列 其中包含每行的长度 我试图迭代列名称 并为每列输出一个附加有 length 的相应列 例如 col1 col2 将转到 col1 列2 col1 长度 列2 长度 我正在使用的代码
  • 在闪亮仪表板中显示/隐藏菜单项

    当进入应用程序时 我需要隐藏一个菜单项 当用户选择某个值时 菜单项必须出现 我努力了shinyjs功能hidden 并且它隐藏了一个 menuItem 但是当使用show or toggle 菜单项不会出现 我发现了Rshinydashbo
  • 在 R 中使用两个 for 循环创建矩阵/数据框

    这是我在 SO 上的第一篇文章 所以请友善 我的问题与这个问题隐约相关 R中的双for循环创建矩阵 https stackoverflow com questions 44376020 double for loop in r creati
  • 数据集子集的回归

    我想做以下事情并需要一些帮助 分别计算 身高 与 年龄 的斜率和截距 lm Height Age 一 每个人 二 性别 并创建一个包含结果 斜率和截距 的表 我可以使用 申请 吗 在下一步中 我想做一个统计测试 以确定性别之间的斜率和截距是
  • 将线条剪裁到绘图区域并在绘图区域外显示文本

    我想限制绘图的可见 y 范围 为了保留超出此范围的值 我需要设置oob 出界 to rescale none这效果很好 不过 我还想在图外的页边空白处添加一些文本 为了做到这一点 我需要关闭剪辑 这会导致超出范围的值被绘制在绘图区域之外的边
  • R:使用 dcast 时包含没有条目的因子

    我在数据帧上使用 reshape2 函数 dcast 其中一个变量是某些级别未出现在数据框中的因素 但我会将所有值包含在创建的新列中 例如 假设我运行以下命令 library reshape2 dataDF lt data frame id
  • 是否可以使用像“tz=NULL”这样的东西?...“as.POSIXct”默认为依赖于语言环境的时区(与“as.Date”不同),这会导致问题

    我知道这是一个长期存在 根深蒂固的问题 但这是我经常遇到的问题 而且我看到初学者R经常与此斗争 我希望有一个令人满意的解决方案 到目前为止 我的谷歌和 SO 搜索都是空的 但如果在其他地方重复 请指出正确的方向 TL DR 有没有办法使用类
  • 为闪亮的应用程序创建桌面图标

    当我在基本 R 提示中提供以下代码时 我会在浏览器中打开一个闪亮的应用程序 shiny runApp C Myapp 我使用 Windows 7 我试图创建一个桌面图标 以避免我的客户每次想要使用该应用程序时都键入上述代码 我创建了一个桌面
  • R 中的 For 循环分配给数据框

    运行 for 循环后 我在分配给数据帧时遇到问题 当我使用 print 时 它给出了我的价值 有什么解释吗 salesdate lt rep seq from as Date 2013 12 19 to as Date 2013 12 23
  • 如何在闪亮的应用程序中显示矩阵,并用条件指定颜色?

    我有一个具有正值和负值的矩阵 M 我正在尝试使用 DT 包在闪亮的应用程序中显示为表格 我想用不同的颜色显示矩阵 红色的正数和负数 例如 到目前为止 我只能以一对一的方式添加颜色 但我想以这种方式添加颜色 如果matrix values g
  • R 中整数向量的大小

    我原以为 R 有一个用于存储对象的标准开销 看起来是 24 字节 至少对于整数向量而言 但一个简单的测试表明它比我意识到的要复杂 例如 采用长度为 100 的整数向量 使用随机采样 希望避免任何可能存在的偷偷摸摸的序列压缩技巧 https
  • 在 R 绘图上使用鼠标书写?

    我使用创建了散点图plot R 中的函数 有没有可能在这个图上画图 我想添加一条直线并获取它的参数 但在我看来abline 可能会很不方便 我想画很多条线 然后选择一条最合适的 我怎样才能完成这个任务 看看 RStudio 和这个例子 li
  • 是否可以在 R 中创建自定义 pch 形状?

    R 中的许多绘图函数都使用图形参数pch指定数据点的形状 根据R 文档 https www rdocumentation org packages graphics versions 3 6 2 topics points 有 26 个矢量
  • 整理包中的字段说明

    我很抱歉 因为我知道这个答案可能出现在编写 R 包的手册中 但在我阅读和查看其他包的整理字段时 我无法 100 弄清楚该字段的用途 用简单的语言 我的是英语 来看 包的描述文件中的整理字段有什么作用 人们想在那里放什么 我认为这来自于某个时
  • 在 R 中使用 ggplot2 叠加两个图

    有两个数据框 df1 df2我需要使用 ggplot2 创建线图并显示在同一个图表上 df1 x y 2 30 4 25 6 20 8 15 df2 x y 2 12 4 16 6 20 8 24 用于绘制第一个 df p1 lt ggpl
  • R 中的频率加权,与 Stata 的结果比较

    我正在尝试分析明尼苏达大学 IPUMS 数据集中的数据1990 年美国人口普查 http usa ipums org usa sampdesc shtml us1990a in R 我正在使用survey http faculty wash
  • 生成与现有变量具有预定义相关性的二进制变量

    对于模拟研究 我想生成一组随机变量 连续变量和二元变量 这些变量与已经存在的变量具有预定义的关联binary变量 此处表示为x 对于这篇文章 假设x是按照下面的代码生成的 但请记住 在现实生活中 x是一个已经存在的变量 set seed 1
  • R 中的微秒时间戳

    在 CSV 文件中 我有几列 其中一列有时间戳 其中每个时间戳是今天午夜经过的微秒 每个 csv 文件仅包含一天内的数据 因此这并不含糊 我的问题是 如何将这些微秒时间戳解析为 R 多谢 我的 CSV 文件的一部分 34201881666
  • 如何解决 R 估计中的整数溢出错误

    我正在尝试使用估计模型speedglm在 R 中 数据集很大 约 6988 万行和 38 列 行数和列数相乘得到约 27 亿 超出了整数限制 我无法提供数据 但以下示例重现了该问题 library speedglm large exampl

随机推荐

  • 选择父母的兄弟姐妹

    我有这个 HTML font b a href profile user user a b font message font font 我知道字体标签很糟糕 但他们想要字体标签 所以我添加了字体标签 我可以选择用户名 a href use
  • 选择 QR 码的字符编码

    我正在构建一个应用程序 它将能够生成包括任意文本数据的二维码 然而 这提出了一个挑战 我希望用户包含非 ASCII 字符 例如 或 根据我收集到的信息 QR 码的默认值是 ISO 8859 1 但 UTF 8 似乎是常见的选择 并且接受更广
  • Railscast 198,但使用 formattastic

    你怎么能做其中所涵盖的事情RyanB 的 Railscast使用 Formtastic 单独编辑多个记录 Formtastic 不使用 RyanB 的方法所依赖的 form tag The semantic form for只是一个包装fo
  • 杂货店 CRUD 中的调试

    如何调试我的回调脚本 我有一个 deal management 函数 可以执行杂货 CRUD 我有一个 callback after insert array this insert coupon codes 因为数据库中的插入在我的函数中
  • Xcode 6.3.2 无法构建或运行项目

    升级到 Xcode 6 3 2 后 我无法构建 运行 分析 配置项目 甚至项目清理功能看起来也被破坏了 有没有人遇到过类似的问题并知道如何解决 当您下载并安装 6 3 2 的新命令行工具时 问题似乎就消失了
  • 如何在立方体上获得平坦的法线

    我使用的 OpenGL 没有已弃用的功能 并且我的光照计算是在片段着色器上完成的 所以 我正在做平滑着色 我的问题是 当我绘制立方体时 我需要平坦的法线 通过平坦法线 我的意思是在面上生成的每个片段都具有相同的法线 到目前为止 我的解决方案
  • 如何在 R 中绘制二次回归?

    以下代码在 R 中生成二次回归 lm out3 lm listOfDataFrames1 avgTime listOfDataFrames1 betaexit I listOfDataFrames1 betaexit 2 I listOfD
  • XSLT + 创建表结构

    我想创建一个表结构 将标题行分隔开THEAD和数据行TBODY 输入 XML
  • VirtualMode 中的 WinForms ListView 是否限制为 100,000,000 行?

    我有一些网格场景 我想显示 gt 500 000 000 行 在列表视图中 如果我人为地限制我的ListView显示100 000 000 listView VirtualListSize data Count if listView Vi
  • css 类来淡化背景颜色

    我需要一个类来减轻元素背景颜色而不在类中指定颜色 当我对颜色进行硬编码时 这很容易 lighten background color lighten blue 30 但是 如何在不影响内容颜色的情况下将淡化应用于元素的任何颜色 div cl
  • 获取脚本父元素的引用

    我正在使用 AJAX 返回包含脚本的响应 通过该脚本 如何确定脚本正在运行的父元素的 ID 而不将 id 传递给服务器 有办法吗 Thanks 如果您为脚本分配一个 ID 这会在古老的浏览器中爆炸 你可以试试 var id idOfTheS
  • 有没有办法查询特定类型的具有意图过滤功能的应用程序?

    我正在寻找一种方法来在设备中搜索所有能够通过操作 查看 和类别 可浏览 来过滤意图的应用程序 我找到了以下链接并学习了如何列出所有意图过滤器 但是如何仅列出那些仅具有上述参数的意图过滤器 http developer android com
  • 从列表中删除重复的项目

    我尝试跟随这个帖子但是 它似乎对我不起作用 我尝试了这段代码 for bresult in response css LIST SELECTOR NAME SELECTOR h2 a attr href yield name bresult
  • 有没有办法设置 webpack 配置来加载特定的 core-js 条目

    免责声明 除了简单的设置之外 我对 webpack 或 babel 不太熟悉 所以如果问题不清楚 那么我深表歉意 并将尽力提供进一步的说明 因此 目前的情况是 一位同事最近更新了一堆软件包 其中包括 babel 并且 babel 不再正确地
  • 计算 32 位整数中设置的位数

    代表数字 7 的 8 位如下所示 00000111 三位被设置 确定 32 位整数中设置位数的算法有哪些 这被称为 汉明重量 popcount 或 横向加法 一些 CPU 具有单个内置指令来完成此操作 而其他 CPU 则具有作用于位向量的并
  • 如何使用 apache Camel 验证 xsd?

    我正在使用 apacheservicemix 并尝试使用 apache Camel 验证 xml 文档 我有一条名为 Students route xml 的路线
  • 单例与 Swift 3.0

    我用 Swift 2 0 实现了这个 Xcode 的建议不仅令人困惑 而且还会导致编译错误 这是一个用户传递 callfunc 闭包的库 Before protocol MyProtocol 主类 private static var t
  • 吃完 EOF 后重用 std::cin

    UNIX 命令wc有这个功能 wc aaa bbb ccc
  • 使用 VBScript 读取 CSV 文件

    我有一个包含 4 个字段的文件 A B C D 我只想提取第四个字段并将其更改为 E 有办法实现这个吗 假设这些值不包含逗号 请使用读取文件文件系统对象 FSO 那么Split每行以逗号分隔 根据需要更改包含 4 个值的结果数组 然后joi
  • R data.table 按名称进行多列转换[重复]

    这个问题在这里已经有答案了 设 DT 为数据表 DT lt data table V1 factor 1 10 V2 factor 1 10 V9 factor 1 10 是否有更好 更简单的方法来进行多列因子转换 如下所示 DT Vn1