我有一个系列数据类型,它是通过从pandas数据帧中减去两列来生成的.
我想从R中的系列中删除第一个元素x[-1].我可以让它在np数组类中工作,但是系列类不起作用.
我有1分钟增量的时间序列数据.我编写了一个代码,但是我拥有大量数据(超过1M行),循环遍历每一行的时间太长了.数据如下所示:
t0 = as.POSIXlt("2018-12-23 00:01:00")
t0 = t0+seq(60,60*10,60)
p1 = seq(5,5*10,5)
p2 = seq(7,7*10,7)
m0 = cbind(p1,p2)
rownames(m0) = as.character(t0)
Run Code Online (Sandbox Code Playgroud)
它看起来像这样的地方:
> head(m0)
p1 p2
2018-12-23 00:02:00 5 7
2018-12-23 00:03:00 10 14
2018-12-23 00:04:00 15 21
2018-12-23 00:05:00 20 28
2018-12-23 00:06:00 25 35
2018-12-23 00:07:00 30 42
Run Code Online (Sandbox Code Playgroud)
我希望通过在每分钟之前添加11行(55秒)并将值从最新值继续来将此数据转换为5秒增量.所以它会像:
> new0
p1 p2
2018-12-23 00:01:05 5 7
2018-12-23 00:01:10 5 7
2018-12-23 00:01:15 5 7
2018-12-23 00:01:20 5 7
2018-12-23 00:01:25 5 7
2018-12-23 00:01:30 5 7
2018-12-23 00:01:35 …Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据:
A= c(0,0,0,-1,0,0,0,1,1,1,0,0,-1,0,0,-1,-1,1,1,1,-1,0,0,0,-1,0,0,-1,-1,1,1,0,0,0,0,1,-1)
Run Code Online (Sandbox Code Playgroud)
目标是提取交替的-1和1.我想创建一个输入向量包含0,1和-1的函数.输出理想地吐出所有0并交替-1和1.
例如,上面示例的所需输出是:
B= c(0,0,0,-1,0,0,0,1,0,0,0,0,-1,0,0,0,0,1,0,0,-1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-1)
Run Code Online (Sandbox Code Playgroud)
A中第9和第10位的两个1变为0,因为我们只保留第一个或第一个-1.由于这个原因,A的第16和第17位的-1s也变为0.
任何人都有一个好主意做这样的功能?