问题标签 [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.
r - 如何用相邻值替换数据框中的 NA(缺失值)
我有一个像上面那样带有一些 NA 的数据框 x,我想使用相邻的非 NA 值来填充它,比如 2006-05-20 它将是 19&22 的平均值
问题是怎么回事?
sql - 如何使用 SAS PROC SQL 进行最后一次观察结转
我有下面的数据。我想编写一个 sas proc sql 代码来获取每个患者(ptno)的最后一个非缺失值。
上面的sql代码效果不好。
愿望输出数据如下:
r - na.locf 删除领先的 NA,保留其他
na.locf
我对包中的功能有疑问zoo
。在下面的数据框中,我想删除领先的 NA(1987 年、1988 年),但保留前一年(1993 年)的有效值。
有没有人有这个问题的解决方案?
r - 组在多列上进行的最后一次观察
我有一个数据集,其中包含多个患者的观察结果及其随时间的诊断。有 9 个不同的虚拟变量,每个代表一个特定的诊断,例如 L40、L41、K50、M05 等。
在虚拟变量中存在缺失值的情况下,我想将患者的最后一个非缺失值结转,这样一旦患者接受诊断,它将继续进行后续观察。
我从这个开始,使用 zoo 包中的 na.locf 函数。
这实现了我正在寻找的东西,但仅限于有问题的列(L40)。有没有办法将上述内容应用于所有相关的诊断列,即以 K、L 和 M 开头的列?
r - 最后一个观察结果在多列上结转条件
我有一个具有这种结构的数据集:
当 L40 和 K50 列中出现缺失值时,我想结转该列中最后一个非缺失值,条件是 ID 与前一个 ID 相同,并且当前行中 L40 和 K50 中的值为空。我应用了以下代码:
这并没有达到我想要的。我希望仅当该行中的其他列(ID 除外)为空时,才将先前的非缺失值结转到下一行。这就是我要的:
r - 在数据框中结转的最后一次观察
我在 R 包中包含的部分功能涉及填充NAs
最后一个 ovbservation 结转(locf
)。locf 应该应用于数据框中的所有列,除了我在好列下面所说的goodcols
(即应该应用于badcols
)。的列名badcols
可以是任何内容。我使用locf
下面的函数和一个 for 循环来实现这一点。但是,在使用大型数据集时,for 循环有点慢。任何人都可以提出一个更快的替代方案或另一种方式来填写当前场景中的 NAs 吗?
这是一个示例数据框:
r - R:na.locf 填充 timeSeries/xts 尊重前导和尾随 NA
首先是我创建的解决方案 - 我是新手,所以欢迎所有帮助改进我的功能:
此函数填充 (xts, timeSeries) 时间序列并忽略尾随和前导 NA。该功能甚至相当快 - 但仍然:这是一个标准问题,我敢肯定,有一个标准(希望更有效)的解决方案,我没有找到。
抱歉,如果这个问题被问到并回答了 1000 倍……我在 stackoverflow 上找不到合适的条目。
mysql - 最后一次观察结转/忽略滞后的空值
如何lag(x) ignore nulls
在 Presto 中模仿由 on(例如 Redshift)引起的 LOCF 行为?
拿这个样本数据:
期望的输出是:
这几乎可以通过以下方式实现(从这里适应 Presto ):
(不同之处在于 non- 的当前行NULL
comm
不正确)
实际上,就我而言,差异并不重要,因为我想coalesce(comm, prev_comm)
. 但是,这个答案仍然不够,因为在完整的数据集中,它造成了内存故障:
查询超出了 20GB 的本地内存限制
以下未完成的拉取请求presto
将ignore nulls
直接实施;有没有办法在过渡期间完成等效的结果?
r - R按组结转最后一次观察n次
这个让我发疯。我有一个包含每月库存数据的大型数据表。每年六月,我都会根据一个会计变量将每只股票分配给 10 个投资组合中的一个。我想将分配的投资组合变量结转到下一个 11 个月,直到明年 6 月每只股票都被分配到新的投资组合 1 到 10。na.locf
基本上是我正在寻找的,但我遇到了两个问题:
- 一些股票在下一年缺乏足够的会计数据,因此不应将它们分配到当年的投资组合(即投资组合变量应保持NA)。但当然
na.locf
会继续推进投资组合编号,直到有一个新的编号。 - 有些股票可能会在例如 3 个月后退市,因此他们没有另外 11 个月的数据。
这就是为什么我要寻找一种代码,该代码最多可将最后一次观察结果进行最多 11 次,直到明年 6 月(当有新的投资组合编号时)。
这就是na.locf
现在有 2 个问题的解决方案(PERMNO 是股票标识符):
我尝试使用rep
,但根本没有用:
感谢您的任何提示!