如何有效地合并两个data.tables与全外连接,同时处理左侧和右侧滚动最后一次观察前进(LOCF)的缺失值?
现实世界中的应用 -有两个不一定交织交易规则信号表X,Y,控股(稀疏的一段时间内)的信号值.总体目标是定义复合信号,其中Signal.z = Signal.x AND Signal.y
X <- data.table(Instrument=rep("SPX",3)
, Date=as.IDate(c("2013-11-20","2013-11-22","2013-11-24"))
, Signal=c(TRUE,FALSE,TRUE), key=c("Instrument", "Date"))
Y <- data.table(Instrument=rep("SPX",3)
, Date=as.IDate(c("2013-11-21","2013-11-23","2013-11-25"))
, Signal=c(FALSE,TRUE,FALSE), key=c("Instrument", "Date"))
Run Code Online (Sandbox Code Playgroud)
期望的结果:
Instrument Date Signal.x Signal.y Signal.z
1: SPX 2013-11-20 TRUE NA NA
2: SPX 2013-11-21 TRUE FALSE FALSE
3: SPX 2013-11-22 FALSE FALSE FALSE
4: SPX 2013-11-23 FALSE TRUE FALSE
5: SPX 2013-11-24 TRUE TRUE TRUE
6: SPX 2013-11-25 TRUE FALSE FALSE
Run Code Online (Sandbox Code Playgroud) 使用lubridate,如何计算给定日期的上一季度的最后一天?以下公式似乎不适用于2014年11月3日(其他日期有效)
library(lubridate)
date = as.POSIXct("2014-11-03")
date - days(day(date)) - months(month(date) %% 3 - 1)
# NA
Run Code Online (Sandbox Code Playgroud)
足够有趣的是,更改订单可以:
date - months(month(date) %% 3 - 1) - days(day(date))
# "2014-09-30 UTC"
Run Code Online (Sandbox Code Playgroud) 我在:创建了一个变量:
q)myvar: 1
Run Code Online (Sandbox Code Playgroud)
我该如何删除它?我试过了:
q)delete myvar from `.z
Run Code Online (Sandbox Code Playgroud)
但是命名空间`.z显然不是正确的,因为变量仍然存在:
q)myvar
1
Run Code Online (Sandbox Code Playgroud) 如何使用字符串作为变量名?
我希望在运行时构造我的变量名,但是如何将其用作左参数并为其分配值?
例子:
[`$"test"] : 1 / 'assign error
Run Code Online (Sandbox Code Playgroud) 斐波那契很好:
f:|+\
5 f\1 1
Run Code Online (Sandbox Code Playgroud)
但我没有找到帕斯卡三角形的类似表达.这是我能得到的最好的:
q){x+\\x#1}6
1 1 1 1 1 1
1 2 3 4 5 6
1 3 6 10 15 21
1 4 10 20 35 56
1 5 15 35 70 126
1 6 21 56 126 252
1 7 28 84 210 462
Run Code Online (Sandbox Code Playgroud) 在我的Neo4j(2.1.1社区版)数据库中,我有Lucene遗留索引,称为node_auto_index:
GET http://localhost:7474/db/data/index/node/
{
"node_auto_index": {
"template": "http://localhost:7474/db/data/index/node/node_auto_index/{key}/{value}",
"provider": "lucene",
"type": "exact"
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想将类型从"exact"更改为"fulltext".我怎么能用REST做到这一点?我尝试了以下方法,但它们都没有工作:
我在重新创建"fulltext"之前尝试删除它,但它是只读的:
DELETE http://localhost:7474/db/data/index/node/node_auto_index/node_auto_index
{
"message": "read only index",
"exception": "UnsupportedOperationException",
"fullname": "java.lang.UnsupportedOperationException",
"stacktrace": [
"org.neo4j.kernel.impl.coreapi.AbstractAutoIndexerImpl$ReadOnlyIndexToIndexAdapter.readOnlyIndex(AbstractAutoIndexerImpl.java:254)",
"org.neo4j.kernel.impl.coreapi.AbstractAutoIndexerImpl$ReadOnlyIndexToIndexAdapter.delete(AbstractAutoIndexerImpl.java:290)",
"org.neo4j.server.rest.web.DatabaseActions.removeNodeIndex(DatabaseActions.java:437)",
"org.neo4j.server.rest.web.RestfulGraphDatabase.deleteNodeIndex(RestfulGraphDatabase.java:935)",
"java.lang.reflect.Method.invoke(Unknown Source)",
"org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139)",
"java.lang.Thread.run(Unknown Source)"
]
}
Run Code Online (Sandbox Code Playgroud)
POST http://localhost:7474/db/data/index/node/
{
"name" : "node_auto_index",
"config" : {
"to_lower_case" : "true",
"type" : "fulltext",
"provider" : "lucene"
}
}
Run Code Online (Sandbox Code Playgroud)
{
"message": "Supplied index configuration:\n{to_lower_case=true, type=fulltext, provider=lucene}\ndoesn't match stored config in a valid …Run Code Online (Sandbox Code Playgroud) 我有
MATCH (x)-[rels*]->(y)
RETURN extract( r in rels | r.property) as collected
Run Code Online (Sandbox Code Playgroud)
where collected是路径上所有关系的属性集合,例如[null, 4, null, 4]或[1, 3, 3, 1].
我怎样才能进一步collected从其独特的价值中提取?例如,[null, 4, null, 4]将改为[null, 4]
假设我们有fun两个参数的函数,第二个是可选的.如何在函数内检查是否已提供第二个可选参数并采取相应措施?
fun: {[x;optarg] $["optarg was supplied" like "optarg was supplied";"behavior 1"; "behavior 2"] }
fun[1;2] / behavior 1
fun[1] / behavior 2
Run Code Online (Sandbox Code Playgroud)
```
我有一个包含与号 ( &)的字符向量,在LaTeX 环境之外使用时可以正确显示,例如\begin{itemize}.
这有效:
---
output:
pdf_document
---
`r "Guns & Roses"`
Run Code Online (Sandbox Code Playgroud)
上面的代码运行而不会出现错误,这意味着要么knitr或rmarkdown自动逸出的符号。
现在,当在 LaTeX 环境中指定带有 & 符号的相同 R 字符向量时,会引发以下错误! Misplaced alignment tab character &.:
---
output:
pdf_document
---
\begin{itemize}
\item `r "Guns & Roses"`
\end{itemize}
Run Code Online (Sandbox Code Playgroud) 在kdb + / q中,如何通过一系列功能通过管道传递数据,以使上一步的输出成为下一步的输入?
例如:
q)t:([]sym:`a`c`b;val:1 3 2)
q)`sym xkey `sym xasc t / how to achieve the same result as this?
Run Code Online (Sandbox Code Playgroud)
我猜想有些变化over或/可以工作:
?? over (xasc;xkey)
Run Code Online (Sandbox Code Playgroud)
优点:如何实现t从右侧插入的方式(本着q语法左右读法的精神)?
(xasc;xkey) ?? t
Run Code Online (Sandbox Code Playgroud)