获取连续日值的总和

2023-12-08

我有一个大数据集,如下所示:

Date       rain code
2009-04-01  0.0 0 
2009-04-02  0.0 0 
2009-04-03  0.0 0 
2009-04-04  0.7 1 
2009-04-05 54.2 1  
2009-04-06  0.0 0 
2009-04-07  0.0 0 
2009-04-08  0.0 0 
2009-04-09  0.0 0 
2009-04-10  0.0 0 
2009-04-11  0.0 0 
2009-04-12  5.3 1  
2009-04-13 10.1 1  
2009-04-14  6.0 1  
2009-04-15  8.7 1  
2009-04-16  0.0 0 
2009-04-17  0.0 0 
2009-04-18  0.0 0 
2009-04-19  0.0 0 
2009-04-20  0.0 0 
2009-04-21  0.0 0 
2009-04-22  0.0 0 
2009-04-23  0.0 0 
2009-04-24  0.0 0 
2009-04-25  4.3 1  
2009-04-26 42.2 1  
2009-04-27 45.6 1  
2009-04-28 12.6 1  
2009-04-29  6.2 1  
2009-04-30  1.0 1  

当代码为“1”时,我试图计算连续降雨值的总和,并且我需要分别计算它们的总和。例如我想获得降雨值的总和2009-04-12 to 2009-04-15。所以我试图找到方法来定义代码何时等于 1 并且有连续的降雨值,我得到它们的总和。

对上述问题的任何帮助将不胜感激。


一种简单的解决方案是使用rle。但我怀疑可能有更“优雅”的解决方案。

# assuming dd is your data.frame
dd.rle <- rle(dd$code)
# get start pos of each consecutive 1's
start  <- (cumsum(dd.rle$lengths) - dd.rle$lengths + 1)[dd.rle$values == 1]
# how long do each 1's extend?
ival   <- dd.rle$lengths[dd.rle$values == 1]
# using these two, compute the sum
apply(as.matrix(seq_along(start)), 1, function(idx) {
    sum(dd$rain[start[idx]:(start[idx]+ival[idx]-1)])
})

# [1]  54.9  30.1 111.9

Edit:一个更简单的方法rle and tapply.

dd.rle <- rle(dd$code)
# get the length of each consecutive 1's
ival <- dd.rle$lengths[dd.rle$values == 1]
# using lengths, construct a `factor` with levels = length(ival)
levl  <- factor(rep(seq_along(ival), ival))
# use these levels to extract `rain[code == 1]` and compute sum
tapply(dd$rain[dd$code == 1], levl, sum)

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

获取连续日值的总和 的相关文章

  • 单击 hPlot 图表中闪亮的数据点时打印组名称

    我有一个闪亮的应用程序 它使用 rCharts 中的 highcharts 库显示一些图表 在某些情况下 我在单个图表上有多个图表 这些图表是使用 hPlot 中的组选项创建的 我希望在单击图表时打印单个数据点的所有参数 x y 和组值 我
  • 使用格式表过滤数据框

    样本数据 修改自formattablegithub 文档 df lt data frame id 1 10 name c Bob Ashley James David Jenny Hans Leo John Emily Lee age c
  • 在 R 中,如何获得某些向量值的所有可能组合?

    背景 我有一个需要一些参数的函数 我想要获得所有可能的参数组合的函数结果 一个简化的例子 f lt function x y return paste x y sep colors c red green blue days c Monda
  • 使用 Rgraphviz 中的 pos 参数来固定节点位置

    基于这个问题当弧与另一弧重叠时自动弯曲 https stackoverflow com questions 45721802 automatically curving an arc when it is overlapping with
  • 在 R data.table 中计算时间增量

    我有一个篮球运动员数据的数据表 其中包括每场比赛和多名球员的比赛日期 我想创建一个列来计算自上一场比赛以来的天数 我在 R 中使用 data table 包 PLAYERID GAME DATE 1 2989 2014 01 1 2 298
  • 在 R 中使用 apply() 时出现未使用参数错误

    当我尝试对日期列使用 apply 条件以返回一组系数时 收到错误消息 我有一个数据集 为简单起见 此处进行了修改 但可重现 ADataset lt data table Epoch c 2007 11 15 2007 11 16 2007
  • 使用 R 将图例添加到绘图中

    我使用 R 在一个图中创建了 4 条线 这是代码 Define 2 vectors cars lt c 123 07 110 51 96 14 98 71 101 3 trucks lt c 110 31 89 91 89 81 89 31
  • 计算网格中物种的出现次数

    我有大约500 000点R美国各地候鸟物种的出现数据 我试图在这些点上覆盖网格 然后计算每个网格中出现的次数 统计完计数后 我想将它们引用到网格单元 ID 在 R 中 我使用了over 函数只获取范围图中的点 这是一个形状文件 Read i
  • ggplot2 geom_function 可以跨 arg 值进行分面吗?

    我想通过分面 geom function 创建 ggplot2 图 以便函数的参数在网格中变化 例如像这样的东西 my function lt function x par if par 1 return sin x else return
  • 如何在 Shiny 应用程序中访问/打印/跟踪当前选项卡选择?

    我正在一个闪亮的应用程序中工作 我希望能够访问用户在会话中当前所在选项卡上的信息 我有一个观察事件 用于侦听要单击的特定按钮 简而言之 我想存储 打印用户单击此按钮时所在的当前选项卡 单击此按钮后 选项卡将更改为带有 updateTabIt
  • ggplot2中的两列分组

    是否可以按两列分组 于是叉积就画出来了 经过geom point and geom smooth 例如 frame lt data frame series lt rep c a b 6 sample lt rep c glass wate
  • 正则表达式在 R 中同时多次包含字母/特殊字符时删除单词

    我想删除那些单词中字母 特殊字符的数量同时出现两次以上的单词 例如 输入就像 Google in theee lland of whhhat c c and e 输出应该是 Google in lland of c c and x lt G
  • 与heroku配合使用的统计引擎

    我有一个 Heroku Rails 应用程序 需要处理一些重要的数字 并且我需要使用像 R 这样的统计库 更糟糕的是 MatLab 我正在寻找以下任何问题的答案 是否有不需要二进制文件的功能齐全的统计包 GEM 是否可以将 R 二进制文件作
  • 将一长行带空格的数据导入R中

    这个问题是我上一个问题的后续问题 将一长行数据导入到 R 中 https stackoverflow com questions 8389913 我有一个由单行文本组成的大型数据文件 格式类似于 Cat 14 15 Horse 16 我最终
  • 使用 xtable 对乳胶输出的表进行排序

    我正在尝试生成一个排序表并导出到乳胶中 然而 xtable 似乎无法处理排序表 建议 a lt sample letters 500 replace T b lt table a c lt sort table a decreasing T
  • 按边距(“全部”)值列对 Pandas 数据透视表进行排序

    我试图根据 pandas 数据透视表中的行总和对最后一列 边距 aggrfunc 进行降序排序 我知道我在这里错过了一些简单的东西 但我无法弄清楚 数据框 数据透视表 WIDGETS DATE 2 1 16 2 2 16 2 3 16 Al
  • 如何在 R 中创建纯 ascii 表作为输出,类似于 MySQL 风格?

    我正在尝试为 R 找到一个输出的函数data frameMySQL 风格的 ascii 表中的对象如下 id var1 var2 1 asdf g 2 asdf h 3 asdf j 有这样的功能吗 至少有两个工具可以做到这一点 csvfi
  • 使用 sprintf 打印换行符 - 有光泽

    我试图在打印时进行换行 这是我的代码 temp lt LETTERS 1 11 print sprintf Rank s s n 1 11 temp output 1 Rank 1 A n Rank 2 B n Rank 3 C n Ran
  • 二部图匹配以匹配两个集合

    我是新手igraphR 中的包 我有两套A and B 每个都有N顶点 A1 A2 AN and B1 B2 BN 每个元素之间都有一个边缘A对每一个元素B 我有一个函数fWgt Ai Bj 返回之间的边的权重Ai and Bj 我一直在尝
  • 如何在 R 中创建“堆叠瀑布”图表?

    I was able to find several packages to create a waterfall chart in R which look like this But I could not find a way to

随机推荐

  • 如何在 Visual Studio 中使用 mongodb-cxx-driver 设置项目

    我已经使用 Visual Studio 在 Windows 上成功构建了新的 libmongo cxx driver 但我无法理解如何在 VS 2015 中设置项目来链接到它 我希望能得到一些帮助 Vcpkg 可帮助您在 Windows 上
  • 如何处理用户提供的公式?

    我有一个字典 其中包含一组可通过 Web 应用程序使用的键值 我想处理用户提供的公式 例如 值1 值3 值4 100 获得公式计算的匹配值与字典中的值的最简单方法是什么 考虑这个例子 usr bin python values value1
  • jquery ajax 与 async false 挂起 Firefox

    我有一个像这样调用 ajax 的代码 ajax type POST url sandbox graphloader mock3 async false data calInput1 dates 0 calInput2 dates 1 suc
  • 需要从浏览器调用客户端DLL

    我收到客户的要求 当任何用户刷卡时 他们的详细信息应该自动在客户端的网页中捕获 然而 我们在 IE 中也做了同样的事情 即在 C 中创建 ActiveX 控件 卡服务提供商在客户端安装他们的 DLL 并且从 ActiveX 控件中 我们可以
  • 预期:没有这样的变量[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我开始使用expect 我有一个简单的脚本 但我有一个问题 我想初始化一个第一个字符为 的变量 set mystring THIS IS MY STRING 所以我得到一个错误 因为exp
  • Heroku 上的“ModuleNotFoundError:没有名为“flask”的模块”

    我看到我收到 ModuleNotFoundError 没有名为 flask 的模块 这导致我的应用程序无法在 Heroku 上加载 我已经在虚拟环境和我的系统上安装了 Flask 但问题仍然存在 当我检查要求时 它说满意 这是我的日志 20
  • 在多个相同 ID 上使用 addEventListener

    我需要向我的转发 喜欢和不喜欢按钮添加一个事件侦听器 它们都具有相同的 ID 因此现在只有顶部推文的计数器增加 这是一个学校项目 所以我只能使用原始JS 这是小提琴的链接 https jsfiddle net 1sc7g5ko 这是我的 J
  • Drupal 6/jQuery Ajax 更新字段

    我位于同一站点的不同路径上 并且我需要允许用户更改他 她在不同位置写入的节点上的字段内容 我有 nodeid 和字段名称 以及 ids 等 np 我不认为这太难 但教程或解释会很棒 Thanks 编辑 谢谢 anschauung 的提问 所
  • 来自应用程序脚本的日历:每次需要授权时。仅适用于主日历

    在电子表格中 我有一个用于计算谷歌日历中的小时数的应用程序脚本 并将输出复制到电子表格中 几天前 一切都进展顺利 但今天 2013 年 7 月 1 日星期一 当我尝试运行该脚本时 每次都会收到消息 需要授权 http cl ly Q0bd
  • sails.js 获取文本/纯内容类型的 POST 有效负载

    我正在开发一个 sails js 基于express的node js框架 应用程序 进展顺利 但是 我无法解决这个细节 我需要从 Internet Explorer 8 和 9 跨域发送 POST 请求 为此 我被迫使用 xDomainRe
  • Hive 外部表中的最大列数

    我正在尝试在 Amazon 的 EMR 上设置 Hive 以从 DynamoDB 表中提取数据并将其转储到 S3 我已按照找到的说明进行操作here 并且我们的大多数桌子都取得了成功 但是 对于一个 DynamoDB 表 我收到错误 如下所
  • papaja 生成的 Rmarkdown 中使用 ragged2e 进行文本对齐

    我一直在尝试使用 ragged2e 在 papaja 生成的文档中使用此处提出的方法进行文本对齐 https stackoverflow com a 50042106 然而 当我尝试编织这个时 title My title shorttit
  • webgl 边框颜色着色器

    如何编写着色器来以纯色绘制多边形并以不同颜色绘制边框 基本上我有一个 3D 六边形地图 如果用户要求的话 我需要能够用黑色边框勾勒出每个六边形的轮廓 如果我可以控制边框宽度也很好 Thanks 在我的头顶上 一种方法是创建一个在中心有第七个
  • Flutter Firebase如何获取随机文档

    我正在尝试从 Firebase 获取一些随机帖子 但我无法获得随机文档 ID 有没有办法像这样从 Firebase 检索数据 getRandomData async QuerySnapshot snapshot await posts do
  • AWS Cognito - 通过谷歌登录,显示“继续访问 amazoncognito.com”

    Sign in via google shows continue to amazoncognito com Is there a way to change that to continue to mydomain com Thanks
  • 为什么在 KitKat 4.4.2 上 ACTION_OUTSIDE 每次都返回 0?

    我已经实现了一个大小为 1 的窗口并且想要捕获ACTION OUTSIDE event mWindowManager WindowManager getSystemService WINDOW SERVICE WindowManager L
  • NSSortdescriptor 对从 NSManagedContext 获取结果无效

    我正在尝试使用 NSSortdescriptor 使用指向 NSDate 值的键对 NSFetchRequest 结果进行排序 我的获取结果完全是随机的 没有明确的原因 我正在使用的 NSManagedObjectContext 是通过在
  • 无法解析符号“WebView”。 IntelliJ IDEA 中带有 Maven 的 JavaFX WebView [重复]

    这个问题在这里已经有答案了 事情很简单 我想创建一个支持 WevView 的 javafx 项目 以下是我遵循的步骤 打开intellij 新建项目 左侧 选择javafx 右侧也选择maven 完成 我在 pom xml 中添加了 jav
  • 在进行 url 编码时,std::regex_replace 对于字符“+”无法正常工作

    以下是代码片段 regexp replace 对于字符 无法正常工作 我不应该对字符使用特殊处理 但它应该可以正常工作 All headerfiles are available std string charToHex unsigned
  • 获取连续日值的总和

    我有一个大数据集 如下所示 Date rain code 2009 04 01 0 0 0 2009 04 02 0 0 0 2009 04 03 0 0 0 2009 04 04 0 7 1 2009 04 05 54 2 1 2009