【发布时间】:2017-06-07 02:06:02
【问题描述】:
我想对忽略具有NA 值的行的数据框执行操作(但是,我不想删除具有NA 值的行,我仍然希望它们在数据框中)。实际上我已经设法做到这一点,但我正在寻求一种计算效率更高的方法,因为我的速度非常非常慢。
假设我们有一个如下的数据框:
Number | Object
10 | Car
11 | Book
12 | Pen
13 | Door
NA | Computer
14 | Cup
15 | Book
我希望对此数据框执行操作,我想访问数据框中的上一个/下一个Object,但前提是Number 列没有NA 值那个索引。例如,假设我在 Number 列中的索引 4(这意味着“数字”是 13,Object 是门),我想访问下一个对象,这样就没有 @987654329 Number 列中的 @ 值。这意味着,由于索引 5 在Number 列中有NA,我会转而转到索引6,因为它在Number 列中有14,因此我将Cup 作为对象而不是计算机。
现在,如上所述,我实际上已经实现了一种这样的方法来执行这项任务,基本上是使用which() 和min() 和max() 等功能的组合,但我正在寻找一种方法/function 计算效率更高,因为我有很多数据要处理(我使用的方法非常缓慢且效率低,因为它需要检查大量值)。有没有一种计算效率更高的方法来完成这项任务?提前致谢。
【问题讨论】:
-
请准确说明您拥有什么(代码+数据)以及您想要什么。您描述的过程似乎是迭代的,这通常不是 R 中最有效的
标签: r performance dataframe na