小编Eri*_* W.的帖子

滚动窗口在不规则的时间序列

我有一个不规则的时间序列事件(帖子)使用xts,我想计算在滚动的每周窗口(或每两周,或3天等)发生的事件的数量.数据如下所示:

                    postid
2010-08-04 22:28:07    867
2010-08-04 23:31:12    891
2010-08-04 23:58:05    901
2010-08-05 08:35:50    991
2010-08-05 13:28:02   1085
2010-08-05 14:14:47   1114
2010-08-05 14:21:46   1117
2010-08-05 15:46:24   1151
2010-08-05 16:25:29   1174
2010-08-05 23:19:29   1268
2010-08-06 12:15:42   1384
2010-08-06 15:22:06   1403
2010-08-07 10:25:49   1550
2010-08-07 18:58:16   1596
2010-08-07 21:15:44   1608
Run Code Online (Sandbox Code Playgroud)

应该产生类似的东西

                    nposts
2010-08-05 00:00:00     10
2010-08-06 00:00:00      9
2010-08-07 00:00:00      5
Run Code Online (Sandbox Code Playgroud)

为期2天的窗口.我已研究过rollapply,apply.rollingPerformanceAnalytics等,他们都承担一定的时间序列数据.我尝试将所有时间都改变到帖子发生的那一天,并使用类似于ddply每天分组的东西,这让我很接近.但是,用户可能不会每天发布,因此时间序列仍然是不规则的.我可以用0填补空白,但这可能会使我的数据大量膨胀,而且已经非常大了.

我该怎么办?

r time-series zoo xts

11
推荐指数
2
解决办法
2684
查看次数

(Postgre)SQL中的一对多关系

我有两张桌子:

帖子:

 id | ... other stuff ... |     tags                         
----+---------------------+--------------
  1 |         ...         | <foo><bar>
  2 |         ...         | <foo><baz><blah>
  3 |         ...         | <bar><blah><goo>
Run Code Online (Sandbox Code Playgroud)

和标签:

     tag         
--------------
 <foo>
 <bar>
 <baz>
 <blah>
 <goo>
Run Code Online (Sandbox Code Playgroud)

posts.tags和tags.tag都是文本类型.我想要的是从tags.tag到帖子中的行的关系,这样查询<foo>会给我对应帖子1和2的行,查询<blah>给我2和3,<bar>给我1和3,等等.

我看过外键,但我不确定这是我想要的.(老实说,我不确定它的作用).据我所知,外键必须等于表的主键/唯一列.但我想要的是所有行posts.tags ~ '.*<foo>.*',等等.我也希望能够,例如,获得所有以b开头的标签,例如:

CREATE VIEW startswithB AS
SELECT tag
FROM tags
WHERE tag ~ '<b.*>';

SELECT DISTINCT * FROM posts, startswithB WHERE posts.tags ~ ('.*' || startswithB || '.*');
Run Code Online (Sandbox Code Playgroud)

我如何获得我正在寻找的关系?可能吗?

编辑:

好的,我做了什么:

创建post_tags:

SELECT posts.id, tags.tag 
INTO …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

7
推荐指数
2
解决办法
1万
查看次数

JVM/CLR上相同字节的不同浮点值

我正在将最初用VB.NET编写的程序移植到Java.我正在读取一个以小端序存储32位浮点数的文件.

原始程序执行此操作:

Dim br As BinaryReader = ...
Dim f_vb As Single = br.ReadSingle
Run Code Online (Sandbox Code Playgroud)

Java是大端,所以我在转换为float之前反转字节.

RandomAccessFile raf = // ...
int i = raf.readInt();
int bigEndian = Integer.reverseBytes(i);
float f_java = Float.intBitsToFloat(bigEndian);
Run Code Online (Sandbox Code Playgroud)

据我所知,f_vbf_java包含相同的位.也就是说,BitConverter.ToInt32on f_vbFloat.floatToIntBits(和floatToRawIntBits)on f_java给出相同的东西.但是,花车并不相同.例如,让我们bigEndian == 0x4969F52F.Java将报告958290.94,VB.NET将报告958290.938.我猜这是因为JVM和CLR处理浮点数的方式有所不同,但我对浮点问题知之甚少以找出原因.这种精度的损失导致了线路故障,所以我想确定来源.

java vb.net floating-point clr jvm

1
推荐指数
1
解决办法
161
查看次数

标签 统计

clr ×1

floating-point ×1

java ×1

jvm ×1

postgresql ×1

r ×1

sql ×1

time-series ×1

vb.net ×1

xts ×1

zoo ×1