计算经过的“时间”,其中参考时间取决于一个因素

2024-03-08

我正在尝试计算数据框中的经过时间,其中经过时间的“开始”值取决于数据框中因子列的值。 (简单来说,我将把时间值视为数字而不是时间对象 - 我的问题是关于分割-应用-组合,而不是时间对象)。我的数据框如下所示:

df <- data.frame(id=gl(2, 3, 5, labels=c("a", "b")), time=1:5)

我想通过每次减去每个因素级别的最短时间来计算经过的时间(尽管为了这个示例,我将只处理数值,而不是时间值)。所以我想将数据框分割为id,减去最小值y中每个元素的值y列,并返回带有转换值的向量(或数据框)。我想得到这样的结果:

> dfTrans
id  time  elapsed
a      1        0
a      2        1
a      3        2
b      4        0
b      5        1   

对于 plyr 来说似乎是一个完美的任务,但我找不到一个简单的解决方案。

我能想到的最好的办法是

elapsed <- dlply(df, .(id), function(x) x$time - min(x$time))
elapsed_comb <- NA
for(i in 1:length(names(elapsed))) {
  elapsed_comb <- c(elapsed_comb, elapsed[[i]])
}
elapsed_comb <- elapsed_comb[-1]
df$elapsed <- elapsed_comb

这是不优雅的,而且看起来很脆弱。当然有更好的方法吗?


当结果是一个长度与数据帧中的行数相同的向量时,您首先应该想到的是“ave”函数:

 df$elapsed <- ave(df$time, df$id, FUN=function(x) x -min(x) )
 df
  id time elapsed
1  a    1       0
2  a    2       1
3  a    3       2
4  b    4       0
5  b    5       1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算经过的“时间”,其中参考时间取决于一个因素 的相关文章

  • 如何在knitr和RStudio中为word和html设置不同的全局选项?

    我正在使用 RStudio 0 98 932 和 knitr 1 6 想要为word和html设置不同的全局knitr选项 例如 想要将word的fig width和fig height设置为6 html的fig width和fig hei
  • 将字符串列拆分为多个虚拟变量

    作为 R 中 data table 包的相对缺乏经验的用户 我一直在尝试将一个文本列处理为大量指示符列 虚拟变量 每列中的 1 表示特定的子字符串是在字符串列中找到 例如我想处理这个 ID String 1 a b 2 b c 3 c 进入
  • 使用officer R导出时如何提高ggplots的分辨率

    我想将图表导出到 PPT 并使用Officer 包来实现相同的目的 但是 图表的默认分辨率较低 我想更改它 我目前正在使用以下电话 ph with gg p1 type chart res 1200 其中 p1 是 ggplot 对象 运行
  • R 中两个时间戳之间的左连接

    我的目标是执行左连接intervals哪里的bike id比赛和created at时间戳在records在 之间start and end in the intervals table gt class records 1 data ta
  • R 闪亮仪表板中的动态重复条件面板

    我正在尝试创建一个动态条件面板 所以我的条件如下 在用户界面中输入 selectInput inpt Input Number seq 1 50 1 selectize FALSE 我的条件面板 UI 输入是 conditionalPane
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 需要在R中按行绑定列表数据

    我在 R 中按行绑定列表时遇到问题 我的列表数据集是 id 1 data k 1 id k b c 1 1 1 3 data k 2 id k b c 1 2 1 4 id 2 data k 1 id k b c 2 1 1 6 data
  • 如何在 data.table 中分组后使用条件计算行数

    我有以下数据框 dat lt read csv s1 s2 v1 v2 a b 10 20 a b 22 NA a b 13 33 c d 3 NA c d 4 5 NA c d 10 20 dat gt A tibble 6 x 4 gt
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 行对名称中具有特定模式的列求和

    我有一个像这样的数据表 DT lt ata table data table ref rep 3L 4L nb 12 15 i1 c 3 1e 05 0 044495 0 82244 0 322291 i2 c 0 000183 0 155
  • R ggplot 中的柯尔莫哥洛夫-斯米尔诺夫图

    我正在尝试在 r 中绘制 KS 图 一切似乎都很顺利 除了我只能使用颜色来可视化两个不同的样本而不是线型这一事实 我已经尝试过以下方法 sample1 lt SD13009 sample2 lt SD13009PB group lt c r
  • sapply - 保留列名称

    我试图总结数据集中许多不同列 变量 的平均值 标准差等 我已经编写了自己的汇总函数 以准确返回我需要和正在使用的内容sapply立即将此函数应用于所有变量 它工作正常 但是返回的数据帧没有列名 我似乎甚至无法使用列号引用重命名它们 也就是说
  • R - 重塑 - 熔化错误

    我正在尝试融化数据框 但出现了这个奇怪的错误 有什么想法吗 str zx7 data frame 519 obs of 5 variables calday new Date format 2011 01 03 2011 01 04 201
  • 如何声明包含 M 个元素的列表对象

    我想声明一个包含 M 3 x 3 矩阵的列表 如果我事先知道数字 M 那么我可以通过以下方式声明这样的列表 elm lt matrix NA 3 3 Say M 7 myList lt list elm elm elm elm elm el
  • 在 Shiny 中显示反应式 htmlTable 表格

    我正在制作我的第一个 Shiny 应用程序 但找不到任何有关如何显示使用 htmlTable 包创建的表格的示例 我基本上想在按下按钮时创建一个表格并显示它 Shiny 显示 html 代码而不是表格 我不知道用什么替换服务器部分中的 re
  • 如何按定义的顺序将图像合并到一个文件中

    我有大约 100 张图像 png 我不想手动执行此操作 而是希望将它们按照定义的顺序 基于文件名 并排放置在一个 pdf 中 每行 12 个图像 有人有什么建议吗 我按照下面托马斯告诉我的方法尝试了 它把它们贴在旁边有一个黑边 我怎样才能去
  • 为什么这个 R ggplot2 代码会显示一个空白的显示设备?

    虽然 SO 通常不用于帮助解决错误 但这个显示了特别简单且特别烦人的行为 如果你是一个ggplot2用户 您可以在 10 秒或更短的时间内重现它 正如这个 GitHub 问题 ggplot gtable 创建空白显示 https githu
  • 当设置 coord_fixed 时,ggplot/shiny 中的鼠标悬停坐标是错误的

    我正在使用问题中的答案 当您将鼠标悬停在闪亮的 ggplot 上时出现工具提示 https stackoverflow com questions 27965931 tooltip when you mouseover a ggplot o
  • 如何为自定义 S3 类实现提取/取子集 ([ [<-, [[ [[<-)] 函数?

    我有一个自定义的 S3 类foo 它在正常的基础上添加了一些自定义行为data frame foo object lt data frame class foo object lt c foo data frame 对于这个类 还应该有一个
  • 当将遗传算法与 lme4 一起使用时,glmulti 无限期运行

    我在 R 中使用 glmulti 进行模型平均 我的模型中有大约 10 个变量 使得详尽的筛选不切实际 因此我需要使用遗传算法 GA 调用 method g 我需要包含随机效应 因此我使用 glmulti 作为 lme4 的包装器 此处提供

随机推荐

  • 通过开始和结束索引抓取 List 的一部分

    这可能吗 例如 如果我有 List
  • 使用 C、gcc、C99 和宏优化微控制器的简约 OOP

    我经常必须用 C 语言对微控制器进行编程 因为 C 编译器通常不可用 或者由于各种错误而无法编写极小的代码 但很多时候 OOP 语法糖 在使硬件程序封装得更清晰 易于维护方面非常方便 所以我想找出是否有一种方法可以在 C 中执行 OOP 语
  • Objective-C 如何检查字符串是否为空

    所以 我想检查我的数组中是否有该项目 clientDataArray objectForKey ClientCompany is nil temp clientDataArray objectForKey ClientCompany if
  • 如何用PHP生成随机密码?

    或者有没有自动生成随机密码的软件 只需构建一串随机数a z A Z 0 9 或者任何你想要的 直到所需的长度 这是 PHP 中的示例 function generatePassword length 8 chars abcdefghijkl
  • 为restify.js 实现基于令牌的身份验证的最佳方法是什么?

    我正在尝试使用restify js 构建一个RESTful api 但我不想将该api 暴露给所有人 我将使用基于令牌的身份验证 我脑子里的流程是这样的 不知道是否合理 用户将用户名 密码发送到 api 来获取令牌 此令牌应包含在调用所有其
  • Python 对新实例的交替引用

    这些天我一直在玩Python 我意识到Python如何将id 地址 分配给新实例 int和list 的一些有趣的方式 例如 如果我继续使用一个数字 或两个不同的数字 调用 id 函数 它会返回相同的结果 例如 gt gt gt id 123
  • 使用 JSON 键作为嵌套 JSON 中的属性

    我正在 python 2 7 中使用嵌套的类似 JSON 的数据结构 我与一些外国 perl 代码进行交换 我只是想以更Pythonic的方式 处理 这些列表和字典的嵌套结构 所以如果我有这样的结构 a x 4 y 2 3 a 55 b 6
  • 表格视图单元上的步进器(快速)

    我将步进器的出口和操作放入表格视图单元格中 并使用协议委托将其连接到表格视图 当我点击第一行中的步进器时 步进器值在第一行中正常显示 但它也出现在某个随机行中 如何解决这个问题 表格视图单元格 protocol ReviewCellDele
  • WPF 工具包数据网格 - 自定义选项卡

    我有一个包含 3 列的 WPF 工具包 DataGrid 只有第三列允许数据输入 前两列是静态的 文本描述 是否可以控制选项卡和导航 以便选项卡和上下左右按钮将忽略前两列并在第三列的范围内运行 您可以使用以下命令禁用前两列上的制表符IsTa
  • oracle FOR LOOP 不在 SYS_REFCURSOR 中迭代

    程序如下 打开游标 然后通过批量收集获取选择查询的输出 问题是所有 ID 都存储在批量收集中 但我无法使用批量收集变量作为输入来循环第二个选择查询 它只考虑第一个 ID 而不是全部 输出应该是 SYS REFCURSOR 请说明我在这里缺少
  • 使用layout/main.xml 文件将选项卡添加到Android 应用程序

    我从 Android 开始 想向现有应用程序添加选项卡 现在我只有一项活动 其布局是在 XML 文件中定义的 我现在想添加其他选项卡 我查了一下发现http developer android com resources tutorials
  • 如何让 Holo Light 主题在我的 Xamarin 应用程序中工作

    我正在尝试让我的应用程序使用 Holo Light 主题 我为 Holo 创建了一个自定义主题并将其放入 资源 values v11 Fsd Theme xml
  • 如何提取 docker 镜像的所有替代标签?

    我使用构建管道管理 gitlab 所有组件都封装在来自官方 gitlab 维护者的 docker 镜像中 每当我更新时 通常每周一次 我需要检查 gitlab gitlab runner helper 是否仍然适用于当前最新版本的 gitl
  • PhpMailer 不发送邮件 - TLS 错误?

    我在使用 phpmailer 发送电子邮件时遇到问题 发送电子邮件的代码是 mail User email protected cdn cgi l email protection mail Password My Password mai
  • 为什么 Chrome 需要 12 秒来更新图层树?

    我有一个相对不复杂的 ASP Net 应用程序 它偶尔会在层中显示一条警报消息 带有阴影 并带有一个按钮来消除通知 这段代码多年来一直运行良好 最近 我收到用户抱怨响应速度非常慢 他们的体验是页面完全没有响应 并且当他们单击 确定 按钮时很
  • 如果在某些输入之后使用 getline() 则不起作用[重复]

    这个问题在这里已经有答案了 可能的重复 需要有关 getline 的帮助 https stackoverflow com questions 1744665 need help with getline getline 不起作用 如果我在一
  • 为什么 var 在“foreach (var row in table.Rows)”中计算结果为 System.Object?

    当我输入这个foreach陈述 foreach var row in table Rows var 的工具提示说class System Object 我很困惑为什么不是class System Data DataRow 如果你想知道 是的
  • Java - 从 Jar 文件创建类

    是否可以从 jar 文件加载类 然后从中创建对象 注意 jar文件在程序编译时并不存在 而是用户后来添加的 并在用户启动程序时加载进来的 我的代码是这样的 用户有一个 jar 文件 里面只有一个已编译的 java 类 然后 用户将此 jar
  • 在javascript中悬停后更改背景颜色

    我需要在 Javascript 中更改悬停背景颜色 function changeColor color var block document getElementsByClassName kafelek for var i 0 i lt
  • 计算经过的“时间”,其中参考时间取决于一个因素

    我正在尝试计算数据框中的经过时间 其中经过时间的 开始 值取决于数据框中因子列的值 简单来说 我将把时间值视为数字而不是时间对象 我的问题是关于分割 应用 组合 而不是时间对象 我的数据框如下所示 df lt data frame id g