按组查找系列中的下一个日期

2023-12-11

我有一些这样的数据:

sample.data <- rbind(data.table(start.date=seq(from=as.Date("2010-01-01"), to=as.Date("2014-12-01"), by="quarter"),
                 Group=c("A","B","C","D"), rnorm(20, 5)),
                 data.table(start.date=seq(from=as.Date("2010-01-01"), to=as.Date("2014-12-01"), by="quarter"),
                 Group=c("A","B","C","D"), rnorm(20, 3))
                 )

我想创建一个end.date等于下一个最早的列start.date每个组的值。

所以,举个例子,第一个start.date for Group==A is 2010-01-01。下一个最早的start.date for Group==A is 2011-01-01。所以最后的结果应该是这样排序的Group:

                start.date Group   end.date
                2010-01-01     A 2011-01-01
                2010-01-01     A 2011-01-01
                2011-01-01     A 2012-01-01
                2011-01-01     A 2012-01-01
                2012-01-01     A 2013-01-01
                2012-01-01     A 2013-01-01
                2013-01-01     A 2014-01-01
                2013-01-01     A 2014-01-01
                2014-01-01     A         NA
                2014-01-01     A         NA
                2010-04-01     B 2011-04-01
                2010-04-01     B 2011-04-01
                2011-04-01     B 2012-04-01
                2011-04-01     B 2012-04-01

等等。理想情况下,我想通过参考来做到这一点,例如

sample.data[, end.date := EXPRESSION]

但我不知道从哪里开始。谢谢你的帮助。


Okay so:

events = unique(sample.data[ , .(Group, start.date) ])
events[, next.date := shift(start.date, type="lead"), by=Group]

sample.data[events, on=c("Group", "start.date"), end.date := next.date ]

在我看来,OP应该有一个像这样的表events无论如何,为了与数据库设计保持一致/整齐的数据。结果看起来像

> sample.data[ order(Group, start.date) ]

    start.date Group   end.date
 1: 2010-01-01     A 2011-01-01
 2: 2010-01-01     A 2011-01-01
 3: 2011-01-01     A 2012-01-01
 4: 2011-01-01     A 2012-01-01
 5: 2012-01-01     A 2013-01-01
 6: 2012-01-01     A 2013-01-01
 7: 2013-01-01     A 2014-01-01
 8: 2013-01-01     A 2014-01-01
 9: 2014-01-01     A       <NA>
10: 2014-01-01     A       <NA>
11: 2010-04-01     B 2011-04-01
12: 2010-04-01     B 2011-04-01
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按组查找系列中的下一个日期 的相关文章

  • 可以明确声明包依赖项的版本吗?

    我倾向于对我编写的代码进行明确而不是隐含的描述 因此 在成功创建自己的包之后 我立即想到的下一件事是如何最好地确保代码的健壮性和可靠性 其中一部分与我的包所依赖的包有关 实际问题 在这方面 是否可以明确声明需要 期望哪个版本的包依赖项 我正
  • 将密度曲线拟合到 R 中的直方图

    R中有没有可以将曲线拟合到直方图的函数 假设您有以下直方图 hist c rep 65 times 5 rep 25 times 5 rep 35 times 10 rep 45 times 4 看上去很正常 但其实是歪曲的 我想拟合一条倾
  • 如果“testthat”测试在“R”中失败,则打印自定义诊断信息

    I use a testthat单元测试来检查是否data frame函数返回的结果与我期望它返回的结果相同 如果测试失败 testthat打印一些诊断信息 例如 MyFunction df orig is not identical to
  • dplyr 中的 Summarize 是否可以不删除数据框中的其他列?

    我有一个包含三列的数据框 我正在尝试进行简单的总结以查找数据框中每个城市的最高温度 但同时保留每个最高温度列出的日期 这是数据框 我们称之为 maxT new ID Date Max TemperatureF 1 TUS 1960 04 0
  • 分离并重新附加“tools:rstudio”

    又名玩火 以下不起作用 rstd obj lt as environment tools rstudio detach tools rstudio attach rstd obj name tools rstudio 好吧 它似乎有效 但随
  • R-了解 akima::interp 结果中的 NA 值

    我有以下数据框 ref dat k Intensity Slope 1 0 021467214 33 16 2 0 012444759 33 8 3 0 006079156 33 4 4 0 003792025 33 2 5 0 02276
  • 将列表中的列转换为 R 中的数据框

    我有使用 R 创建的以下列表 set seed 326581 X1 rnorm 10 0 1 Y1 rnorm 10 0 2 data data frame X1 Y1 lst lt replicate 100 df smpl lt dat
  • ggplot 中的错误问题:“grid.Call(”L_textBounds“, as.graphicsAnnot(x$label), x$x, x$y, … 中的错误”[重复]

    这个问题在这里已经有答案了 我试图在 ggplot 中制作一个条形图 其中我通过强制其中一些标签为长度为零的字符串 即 来指定要显示的标签 但是 我收到错误 Error in grid Call L textBounds as graphi
  • 使用 dplyr:group_by 将数据帧分成多个子集?

    有没有办法根据 group by 组使用 dplyr 将一个数据帧拆分为数据帧的子集 mtcars gt group by cyl gear gt codes 非常感谢 好吧 并不是你真的想要 但你可以这样做tidyr 即nearly一样的
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • 仅保留百分比的尾随零

    给出以下示例 library pander tableAbs lt Titanic 1 1 tablePct lt round prop table tableAbs 100 2 table lt cbind tableAbs tableP
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • ggplot散点图中的图例问题

    我想使用 ggplot 创建显示方法比较数据的散点图 绘图应包含原始数据 理想线和带误差的拟合线 图例应显示理想线和拟合线的线型 线宽 线颜色 我可以获得大部分我想要的东西 但是图例存在以下问题 图例显示每种线型有 2 条线 为什么 如何解
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY

随机推荐

  • 是否可以发送 WM_COPY 消息来将文本复制到剪贴板以外的其他位置?

    这是方法定义 DllImport user32 dll public static extern int SendMessage IntPtr hWnd int msg IntPtr lparam IntPtr wparam 这是对 Sen
  • 如何将数组(Google 应用脚本)返回到 HTML 侧边栏?

    我想将我在 code gs 中创建的一些数组返回到 HTML 侧边栏并使用它来填充选择 到目前为止我有这个 假设我想使用 this part of the array for the select 作为 html 选择 code gs fu
  • 在 SwiftUI 列表中呈现 Realm 数据的正确方法是什么

    我正在尝试从中获取所有项目Realm并将它们显示在SwiftUI List但我不断收到错误 In a UIKit Realm应用程序 我只想创建一个Results变量来存储所有项目Realm然后 我会获取中的项目viewDidLoad方法并
  • 类型错误:不可排序的类型:str() < int()

    我使用的是 python 3 5 所有包都是以下版本 numpy 1 12 0b1 mkl cp35 cp35m win amd64 scikit learn 0 18 1 cp35 cp35m win amd64 scipy 0 18 1
  • 在div之上创建一个浮动div

    我正在尝试创建类似以下的内容 div 1 div2 on top of div1 div3 div2 div3 我想创建一个div2在两者之上div1 and div3 我真的不知道如何做到这一点 有人可以帮我吗 谢谢 您
  • SwiftUI @Binding 初始化

    一直在玩 SwiftUI 并理解了这个概念BindableObjects到目前为止等等 至少我希望如此 我遇到了一个愚蠢的问题 我似乎找不到答案 你如何初始化一个 Binding多变的 我有以下代码 struct LoggedInView
  • 将不同的格式应用于不同的列数据框

    我有以下 df table A B C D 0 0 000000 0 000000 0 002520 0 002520 1 0 209772 0 016262 0 003411 0 024343 2 0 006474 0 000152 0
  • c++ OpenCV 将 Mat 转换为一维数组

    我有这个Mat Mat testDataMat 386 2 CV 32FC1 testDataFloat 其中取自 float testDataFloat 386 2 但我不知道如何将它变成一维数组 有什么帮助吗 样本包括 从浮点二维数组转
  • android viewPager 实现 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我的任务是向右滚动到另一个屏幕 然后按图标并显示弹出窗口 我想用ViewPager在两个
  • 在gui线程中触发异步事件

    TL DR 我正在寻找一种方法让一个线程在另一个线程中引发事件 EDIT 我说的是 立即 这个词 正如一些评论者指出的那样 这是不可能的 我的意思是 如果 gui 线程空闲的话 它应该相当快地发生 在低毫秒到纳秒的范围内 如果我做得正确 它
  • CSS3 过渡 + 不显示 + 防止过度滚动

    因此 如果您还不熟悉 CSS3 过渡不会产生动画display none因为它从 DOM 中完全删除了目标元素 这是我的问题 我有一个侧边栏 其中悬停时会出现更大的弹出 div 不幸的是 因为我只能过渡visibility hidden a
  • 在 Express (node.js) 中动态限制上传文件大小

    我正在开发一个简单的应用程序 允许用户上传他们的内容 我想限制 Express 接受的文件大小 我知道我可以使用 app use express limit 2mb 但是我要动态改变限制 某些用户会有更高的限制 最好的解决方案是首先检查co
  • 为什么 Django 迁移在每一行上使用相同的随机默认值?

    Note 我理解并且很清楚将函数作为参数传递和调用函数并将结果作为参数传递之间的区别 我相信我正确地传递了该函数 Specs 姜戈 1 11 PostgreSQL 10 4 设想 我的应用程序中有数十个模型 并且有许多现有记录 我需要向每个
  • 检查 Inno Setup 中是否安装了 .NET 5.0

    我有以下 iss 脚本来编译我正在开发的使用 NET 5 0 的游戏启动器 目前 它每次都会尝试从安装程序安装 NET 5 0 而不是先检查是否需要 我找到了大量资源来告诉您如何针对 NET Framework 执行此操作 但几乎没有找到针
  • CollectionView 在调试中工作,但在 .NET MAUI 中的发布中不起作用

    我有以下内容
  • Swiftui 获取图像的显示尺寸

    我试图获取显示图像的尺寸 以在我使用苹果的 Vision 框架识别的文本上绘制边界框 因此 我在按下此功能的按钮后运行 VNRecognizeTextRequest func readImage image NSImage completi
  • 如何自定义(或禁用)JQuery Mobile 中的自动“后退”按钮

    是否可以自定义 或简单地禁用 JQuery Mobile 中的自动 后退 按钮 我想你正在寻找这个 http jquerymobile com demos 1 0a3 docs toolbars docs headers html 要禁用它
  • Neon:如何在jdk9上运行?

    刚开始玩 jdk9 一开始就卡住了 下载并解压 eclipse java neon m4a win32 安装了 java 9 支持 由 dnd 来自市场 下载并安装jdk9u99 仅jdk 不是公共jre 此时 我可以使用 jre jdk
  • 可以在单词发音游戏中使用WIndows语音识别引擎吗?

    我用来创建一个使用 Windows 语音识别引擎或 SAPI 的应用程序 这就像一个游戏发音当你正确发音时它会给你分数 但是当我开始使用 SAPI 进行实验时 它的识别效果很差 除非您在其上加载语法 XML 否则它会给出最佳的识别结果 但现
  • 按组查找系列中的下一个日期

    我有一些这样的数据 sample data lt rbind data table start date seq from as Date 2010 01 01 to as Date 2014 12 01 by quarter Group