【发布时间】:2017-07-04 04:29:09
【问题描述】:
我有一个关于在 R 中搜索值的问题,它实际上与昨天发布的一个问题有点相似(在这里给出:Searching a vector/data table backwards in R)除了我认为我的问题有点复杂(而且与我想做的相反),而且由于我对 R 很陌生,所以我不太确定如何解决这个问题。
我有一个类似于下面给出的数据框,我希望找到我当前的索引值,其中Times 列与我当前时间不同,Midquote 列没有@ 987654324@值。
Index Times | Midquote
-----------------------------
1 10:30:45.58 | 5.319
2 10:30:45.93 | 5.323
3 10:30:45.104 | 5.325
4 10:30:45.127 | 5.322
5 10:30:45.188 | 5.325
6 10:30:45.188 | NA
7 10:30:45.212 | NA
8 10:30:45.231 | 5.321
9 10:30:45.231 | 5.321
如果我们从数据框的底部开始并将其作为“当前”时间,则发现它位于索引 9 处,其 Times 值为 10:30:45.231 和 Midquote 值为5.321,那么如果我想找到时间与我当前时间不同的第一个索引,我们看到这是索引7,它的时间为10:30:45.212(因为索引8具有相同的时间) .但我们还看到,在索引 7 处,Midquote 的值是 NA,所以我现在必须再次检查数据框。索引 6 再次具有不同的时间(即 10:30:45.188 )但它在 Midquote 列中也有一个 NA 值,所以再次向上移动到索引 5 我们看到 Times 列有不同的时间我当前的时间(即再次10:30:45.188)并且Midquotes 的值是5.325。
因此,由于索引 5 处的时间是 10:30:45.188(这与我当前的时间不同,即 10:30:45.231)并且由于索引 5 处的 Midquote 值不是 NA,我希望获得输出“5”,因为它是同时满足这两个条件的索引值。
我的问题是,有没有一种好的方法可以做到这一点?如果这是一个简单的问题,我很抱歉,我对 R 很陌生,而且我对使用数据框了解不多......
编辑:如果可能的话,我也希望最好不要在数据框中添加另一列(如我上面提到的链接的顶部答案中给出的那样)
【问题讨论】:
-
你能显示预期的输出吗?
-
对不起,你是什么意思?如果这是您要问的,我希望能够从数据框中获取索引 5,因为
Time与我当前的时间不同(因为我从数据框的最底部开始)和 @ 987654345@不是NA -
显示您希望数据的外观,即您的问题的“答案”对于您的示例数据是什么样的。如果您显示数据中所有相关行的答案(不仅仅是索引 9),这会有所帮助,因为这可以使确切的规则更加清晰。
-
很抱歉,我现在将编辑我的主题
标签: r search dataframe data.table