问题标签 [locf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
265 浏览

r - 下一个“特定”观察结果向后进行(NOCB)

这是我的数据框:

对于变量状态,我希望在组 (id) 中向后进行下一个观察。

但是,我只希望我的 "c" 向后携带,而不是 "a" 。

从变量状态:

不适用 “a” “c” “a” 不适用 “c” “c” “c” 不适用 不适用 “a” “c” 不适用 不适用 “c” “c”

我想得到:

不适用“a”“c”“a”“c”“c”“c”“c”不适用“a”“c”“c”“c”“c”“c”

分别:

有没有办法做到这一点?

0 投票
2 回答
121 浏览

r - 将最后一个和下一个非 NA 值与均匀增长的中间值桥接

用从最后一个非 NA 值逐渐增长到下一个非 NA 值的中间值填充数据框列中缺失的 NA 的好方法是什么?

这是一个示例:对于列成本,我想获得列 cost_esti,其中成本在 2014 年和 2016 年之间每年增加 31 美元,将最后一个已知成本 595 美元与下一个已知成本 720 美元联系起来

在此处输入图像描述

我想出的代码很长。有没有一种优雅的方式来做同样的事情?

0 投票
1 回答
213 浏览

r - 将 maxgap 更改为结转值的次数

我有一个类似于以下的数据框:

在这个数据框中,我有一个变量,它指示我可以将最后一次观察 (locf_N) 结转的时间。这不是所有观察的固定数字。为此,我尝试在 na.locf 函数中使用 maxgap 参数,但它实际上并不是我想要的。

有没有参数可以设置最后一次观察可以结转的次数?欢迎任何想法。

期望的输出:

0 投票
3 回答
526 浏览

r - locf 和 nocb 函数

我想以此为基础创建一个函数:

这个函数只是 LOCF,我想为所有缺失的数据创建一个 LOCF 函数,为第一个缺失的观察创建一个 NOCB 函数。

我的数据:

我想获得什么:

先感谢您。

0 投票
2 回答
448 浏览

r - 识别 R 中连续重叠的段

我需要将重叠段聚合成一个包含所有连接段的段

请注意,简单的 foverlaps 无法检测非重叠但连接的段之间的连接,请参阅示例以进行说明。如果在我的地块上会下雨,我正在寻找干燥的地面。

到目前为止,我通过迭代算法解决了这个问题,但我想知道是否有更优雅和更直接的方法来解决这个问题。我肯定不是第一个面对它的人。

我正在考虑一个非相等的滚动连接,但未能实现

编辑:

太棒了,谢谢,cummax 和 cumsum 完成了这项工作,Uwe 的回答比 Davids 的评论略好。

  • end[.N]可能会得到错误的结果,请尝试x下面的示例数据。 max(end)在所有情况下都是正确的,而且速度更快。

    x <- data.table(start = c(11866, 12696, 13813, 14011, 14041), end = c(13140, 14045, 14051, 14039, 14045))

  • min(start)start[1L]给出相同的(x按 start 排序),后者更快。
  • grp on the fly 明显更快,不幸的是我需要分配 grp。
  • cumsum(cummax(shift(end, fill = 0)) < start)明显快于cumsum(c(0, start[-1L] > cummax(head(end, -1L))))
  • 我没有测试包GenomicRanges解决方案。
0 投票
2 回答
419 浏览

r - 在 zoo 包中限制 na.locf

我想对变量进行最后一次观察,但最多只能进行 2 次观察。也就是说,对于 3 个或更多 NA 的数据间隙,我只会将最后一个观察结果转移到接下来的 2 个观察结果,其余的保留为 NA。

如果我使用 执行此操作,则zoo::na.locfmaxgap参数意味着如果间隙大于 2,则不会替换 NA。甚至没有最后 2. 有没有其他选择?

0 投票
2 回答
60 浏览

macros - 按 ID 和日期填充 SAS 中的字段

我的数据集如下所示:

我希望我的结果如下所示:

如何让我的数据考虑 ReleaseDate,如果 ReleaseDate 早于 AsAtDate 然后按 ID 填充字段。

0 投票
1 回答
59 浏览

mysql - 删除顺序数据中的 NULL - MYSQL

我有一个用于跟踪索赔付款的数据库。有一个索赔claim表、一个每月付款claim_month表和一个定义每个月的表monthmonth按顺序排列每个条目,以便如果month_id[1] > month_id[2]第二个数字早于第一个数字。

使用查询(paid_to_date出于隐私目的添加随机化):

我得到以下数据。

数据可视化

从这里开始,我需要将 NULL 替换为每个claim_id.

  • 由于我使用的是 MariaDB/MYSQL,因此 LAG 函数不允许忽略 NULL,这很不幸,因为它看起来很完美。

  • 我也研究过使用 COALESCE 并对其进行分区,但这似乎也不允许。

  • 我也研究过使用用户定义的函数,但是我正在使用多种数据类型,并且似乎无法确定如何定义不需要设置输出数据类型的函数。

我整个上午都在查看以前的问题,但是其中大多数是针对 PostgresSQL 的,这在这种情况下并不是特别有用。我错过了什么?

0 投票
2 回答
36 浏览

r - R 从向量中插入周数,然后执行 na.locf

对于类似于下面的数据框(但显然更大))我想从向量中添加缺失的周数(向量在下面命名为周)。最后,var1 的每个值应该有 4 行,包括第 40 - 42 周,因此对于 var1 的不同值,插入的周值可能不同。最初插入的行可以具有值NA,但作为第二步,我想na.locf对 var1 的每个值执行。有谁知道如何做到这一点?

数据框示例:

0 投票
2 回答
46 浏览

r - 按前一行和实际行定义值

我有data.table两个字段,startvalueendValue,我需要根据前一行和实际行中的一些信息进行填充。虽然这在某种程度上类似于thisthis,但我无法得到我想要的结果。

虚拟数据:

然后我修复startValue所有优先级== 1:

endValue为那些startValue已经定义的设置:

现在问题来了。我希望第startValue2 行(用户 A,优先级 2)与第 1 行相同endValue,所以我可以计算新的endValue. 我知道我可以使用循环,但我想知道是否可以通过使用任何其他函数或函数组合来做到这一点。

我尝试了几种组合,shiftzoo:na.locf总是弄乱了已经存在的值。

预期结果: