data.table 中多次转换时如何避免相同的列名?

2024-04-01

我尝试对同一列进行多次转换data.table并发现这个答案 https://stackoverflow.com/a/16367829/3409615。但是,如果我按照那里的步骤操作,我会得到相同的列名称(而不是mean.Obs_1, etc.).

library(data.table)
set.seed(1)
dt = data.table(ID=c(1:3), Obs_1=rnorm(9), Obs_2=rnorm(9), Obs_3=rnorm(9))

dt[, c(mean = lapply(.SD, mean), sd = lapply(.SD, sd)), by = ID]
#   ID      Obs_1      Obs_2      Obs_3     Obs_1     Obs_2     Obs_3
#1:  1  0.4854187 -0.3238542  0.7410611 1.1108687 0.2885969 0.1067961
#2:  2  0.4171586 -0.2397030  0.2041125 0.2875411 1.8732682 0.3438338
#3:  3 -0.3601052  0.8195368 -0.4087233 0.8105370 0.3829833 1.4705692

有没有办法避免这种行为并为不同的转换获取不同的列名称? 我使用最新的(1.9.4)稳定版本data.table.


你可以尝试

library(data.table)
dt[, unlist(lapply(.SD, function(x) list(Mean=mean(x),
                    SD=sd(x))),recursive=FALSE), by=ID]
#   ID Obs_1.Mean  Obs_1.SD Obs_2.Mean  Obs_2.SD Obs_3.Mean  Obs_3.SD
#1:  1  0.4854187 1.1108687 -0.3238542 0.2885969  0.7410611 0.1067961
#2:  2  0.4171586 0.2875411 -0.2397030 1.8732682  0.2041125 0.3438338
#3:  3 -0.3601052 0.8105370  0.8195368 0.3829833 -0.4087233 1.4705692

或者@David Arenburg 建议的变体

 dt[, as.list(unlist(lapply(.SD, function(x) list(Mean=mean(x),
              SD=sd(x))))), by=ID]
 #   ID Obs_1.Mean  Obs_1.SD Obs_2.Mean  Obs_2.SD Obs_3.Mean  Obs_3.SD
 #1:  1  0.4854187 1.1108687 -0.3238542 0.2885969  0.7410611 0.1067961
 #2:  2  0.4171586 0.2875411 -0.2397030 1.8732682  0.2041125 0.3438338
 #3:  3 -0.3601052 0.8105370  0.8195368 0.3829833 -0.4087233 1.4705692
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

data.table 中多次转换时如何避免相同的列名? 的相关文章

  • 在 R 中进行 Cox 回归后,将预测危险比列添加到数据帧中

    在 R 中运行 Cox PH 回归后 我需要在数据框中添加预测风险比的列 数据框是面板数据 其中 numgvkey 如果公司标识符 和年龄是时间标识符 您可以从此链接下载一小部分日期 https drive google com file
  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • 如何生成向量的所有组合[重复]

    这个问题在这里已经有答案了 假设我有 3 个绿球 2 个橙球和 8 个黄球 我想订购它们 鉴于所有相同颜色的球都是相同的 如何生成所有可能的序列 在 R 中 使用gregmisc 我可以 balls lt c orange orange g
  • R从列表中提取数据框,列名中没有前缀

    我在列表中放置了一个数据框 然后 当尝试将其提取回来时 我得到了该数据帧的所有以列表键为前缀的列名称 有没有办法完全按照最初传递的方式提取数据帧 cols lt c column1 Column2 Column3 df1 lt data f
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • 如何按 data.table 中的十分位数组计算统计数据

    我有一个 data table 想按组计算统计数据 R set seed 1 R DT data table a rnorm 100 b rnorm 100 这些组应该定义为 R quantile DT a probs seq 1 9 1
  • jquery datatable ajax 无数据可用 mvc

    我有一张桌子是在 document ready功能 我还使用 jQuery DataTables 插件 由于某种原因 当页面加载时 ajax 调用控制器并返回数据并将其设置为我的网格所有获取的数据 但是尽管所有数据都加载到数据表中 但仍获取
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 有没有一种简单的方法来判断存储在一个列表中的许多数据帧是否包含相同的列?

    我有一个包含许多数据框的列表 df1 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df2 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df3 lt data frame
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • 具有 dplyr、tidyverse 和 broom 的相关矩阵 - P 值矩阵

    全部 我想使用以下方法从相关矩阵中获取 p 值dplyr 和 或扫帚包 并同时测试多个变量 我知道其他方法 但 dplyr 对我来说似乎更简单 更直观 此外 dplyr 需要关联每个变量以获得特定的 p 值 这使得该过程更容易 更快 我检查
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY
  • 替换字符串/文本中“从第 n 次到最后一次”出现的单词

    这个问题以前曾被问过 但尚未得到令提问者满意的答案 https stackoverflow com questions 36368712 how to use stringrs replace all function to replace
  • 如何将 ggrough 图表另存为 .png

    说我正在使用R包裹ggrough https xvrdm github io ggrough https xvrdm github io ggrough 我有这个代码 取自该网页 library ggplot2 library ggroug
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • Bootstrap 3选择内联输入形式

    我正在尝试获取输入并选择彼此内联的选项 例如该演示使用 Bootstrap 2 死链接 http bootply com 93408 遵循 Bootstrap 3 指南 我设法做到这一点 div class container div cl
  • 获取文本框中插入符号的位置

    如何获取 TextBox 控件可见客户区域中的插入符位置 x y 我需要向文本框添加自动完成功能 我发现了WPF 的解决方案 https stackoverflow com questions 1053539 finding the pos
  • Bash 'read' 命令在 Mac 上不接受 -i 参数。还有其他选择吗?

    我有一个 bash 脚本 在我的工作 Ubuntu 机器上运行良好 但遗憾的是 当我尝试在我的 Mac OSX Lion Mountain Lion 笔记本电脑上运行它时 它就崩溃了 杀死它的那行是这样的 while z SSHFS PAT
  • rufus cron 作业在 Apache/Passenger 中不起作用

    我有一个在 Apache Passenger 上运行的 Rails 应用程序 它有一个 rufus scheduler cron 作业 在后台运行并通过电子邮件发送通知 当我在 WEBrick 服务器上运行正在开发的应用程序时 电子邮件会像
  • 如何在地图视图中添加自定义标注视图

    我是 Objective C 中的 MapKit 新手 我可以在地图视图中添加自定义注释 我需要放置自定义标注视图 如下图所示 但我不明白如何设计这样的标注视图 我知道我需要在注释方法的视图中添加标注 MKAnnotationView ma
  • VB.net 中 json.net 的简单工作示例

    我从一个提供者那里得到了以下简化的 JSON 字符串 自从我使用 Visual Studio 和 vb Net 以来已经很长时间了 所以我很生疏 Venue ID 3145 Name Big Venue Clapton NameWithTo
  • 需要用Java将文件上传到S3上

    我最近开始在 AWS 上工作 我目前正在开发 S3 存储的上传功能 根据我的理解 可以有两种方法将文件上传到 S3 客户端的文件上传到我的服务器 我使用我的凭据将此文件上传到 S3 服务器 我还可以向客户端隐藏此信息 因为我不会显示上传详细
  • Java中识别具有相同内容的图像

    前段时间 我花了一些时间寻找如何确定两个图像是否相同的方法 以便回答这个问题 https stackoverflow com questions 8644960 java library to compare image similarit
  • 对于 Makefile 变量的每个目标

    我的 makefile 如下所示 apps app1 app2 app3 all dir app1 app2 app3 zip cleanup 现在我想在列表上做一些循环apps多变的 就像是 loop on apps endloop 是否
  • Leaflet:突然我收到此错误消息:无法加载资源:服务器响应状态为 403 ()

    突然我收到此错误消息 这对我来说很奇怪 因为我没有接触过地图部分 Failed to load resource the server responded with a status of 403 在寻找线索时 我发现了这个过时的信息 ht
  • 为什么按 Ctrl+“+”会在文本框中产生蜂鸣声?

    我正在与C and Windows Forms并想使用Ctrl Oemplus 作为一个函数key对于我的申请 我用一个German keyboard该键位于字母 P 右侧 2 个键 即 每当我按下此键与Ctrl重点是TextBox我听到一
  • 对象不包括列表理解中的方法

    这个问题与我之前的问题 https stackoverflow com questions 65021583 list comprehensions with class objects以及比尔的回应 我在 subfile py 中有一个名
  • MySQL 外键 - 如何强制跨表一对一?

    如果我在MySQL中有一个表代表一个基类 并且我有一堆表代表派生类中的字段 每个表都用外键引用回基表 有什么方法可以让MySQL强制派生表和基表之间的一对一关系 还是必须在代码中完成 以下面的快速 n 脏模式为例 有没有办法让MySQL确保
  • 评估 C/C++ 内存泄漏时的虚拟内存与物理内存

    我有一个 C 应用程序 我试图解决内存泄漏问题 但我意识到我并不完全理解虚拟内存和物理内存之间的区别 由于 导致的结果top 所以 16 8g 虚拟 111m 物理 4406 um 20 0 16 8g 111m 4928 S 64 7 2
  • Node.js JavaScript:在服务器上模拟按键(如宏)

    我正在尝试获取一个 node js 脚本来模拟按键 例如向上箭头或 a 按钮 具体来说 我正在尝试克隆Twitch 玩口袋妖怪 http www twitch tv twitchplayspokemon 基本上 每当通过 IRC 发送命令
  • 如何为 QVBoxLayout 小部件的隐藏/显示设置动画

    I have this horizontal layout of a QWidget subclass using QHBoxLayout 我希望顶部小部件以滑动动画隐藏 显示 我读过了本文 https qt project org for
  • 如何在 TypeScript 中链接/连接/关联两个类字段的类型?

    如何让 TypeScript 识别类中一个字段的值限制另一个字段的类型 示例代码 操场 https www typescriptlang org play code MYGwhgzhAEDCYBdoG9oAcCuAnLAKAlCgPQBUA
  • 将操作数放在 getopt() 的前面

    使用getopt C 中的函数 可以这样做 program a arg for a b arg for b c operand1 operand2 并且它的工作没有问题 但是 如何让它以这种方式工作 program operand1 ope
  • 如何找到 MIT 方案中出现错误的地方?

    当你在 MIT 方案中遇到错误时 它不会告诉你错误发生在哪里 例如 它只打印如下内容 Unbound variable top left To continue call RESTART with an option number REST
  • data.table 中多次转换时如何避免相同的列名?

    我尝试对同一列进行多次转换data table并发现这个答案 https stackoverflow com a 16367829 3409615 但是 如果我按照那里的步骤操作 我会得到相同的列名称 而不是mean Obs 1 etc l