【发布时间】:2012-06-12 16:54:37
【问题描述】:
我有一个问题,如何从表中选择某些值。我有一个包含时间和值的表格,我想在一定时间后获取下面的行。
Example-Data.Frame.
Time Value
02:51 0.08033405
05:30 0.43456738
09:45 0.36052075
14:02 0.45013807
18:55 0.05745870
....# and so on
时间被编码为字符,但可以格式化。 现在我有例如时间“6:15”,并且想从表中获取该时间之前和之后的时间值(0.43456738 和 0.36052075)。 数据库实际上非常庞大,我有很多时间值。 任何人都有一个很好的建议如何做到这一点?
谢谢 鹬
【问题讨论】:
-
如果正如您在问题中提到的那样,您从数据库中获取此 data.frame,那么获取这些数字的最有效方法是在数据库级别使用精心构建的查询。
-
@Justin 你的意思是使用 NoSQL 数据库吗?
-
sql 或 nosql 编写一个函数或存储过程来获取时间列表并返回最接近这些时间的值可能是最有效的,而不是将整个时间列表读入 R 并进行处理。 Huge 是相对的,但如果 op 真的意味着巨大,那么 R 保存在内存中的数据可能会非常大。
-
正如贾斯汀所说,巨大确实是相对的,我更愿意在 r 中做到这一点。这不是日常程序,我只需要计算一次。因此,时间不应该是个大问题。
-
大量数据(正如@Justin 指出的那样)是非常主观的。因此,如果您能对我们的规模有所了解,将会很有帮助。
标签: r time dataframe data.table xts