小编Dan*_*ian的帖子

带双面卷(LOCF)的全外接头

如何有效地合并两个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)

r full-outer-join data.table

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

上一季度末/上一季度的最后一天

使用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)

r date-arithmetic lubridate

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

在q中删除/删除/删除变量

我在:创建了一个变量:

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)

kdb q-lang

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

kdb+:使用字符串作为变量名

如何使用字符串作为变量名?

我希望在运行时构造我的变量名,但是如何将其用作左参数并为其分配值?

例子:

[`$"test"] : 1              / 'assign error
Run Code Online (Sandbox Code Playgroud)

kdb

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

帕斯卡的三角形为k/q

斐波那契很好:

  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)

k kdb q-lang

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

Neo4j:将遗留索引从精确到全文更改

在我的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替换

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)

lucene rest neo4j

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

Cypher:从集合中提取独特的值

我有

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]

neo4j cypher

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

kdb +/q:检查参数是否已提供给函数调用

假设我们有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)

```

kdb q-lang

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

LaTeX 环境中的特殊字符(与号)

我有一个包含与号 ( &)的字符向量,LaTeX 环境之外使用时可以正确显示,例如\begin{itemize}.

这有效:

---
output:
  pdf_document
---

`r "Guns & Roses"`
Run Code Online (Sandbox Code Playgroud)

上面的代码运行而不会出现错误,这意味着要么knitrrmarkdown自动逸出的符号。

现在,当在 LaTeX 环境中指定带有 & 符号的相同 R 字符向量时,会引发以下错误! Misplaced alignment tab character &.

---
output:
  pdf_document
---

\begin{itemize}
\item `r "Guns & Roses"`
\end{itemize}
Run Code Online (Sandbox Code Playgroud)

latex r pandoc knitr r-markdown

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

[KDB + / Q]:在数据上依次应用功能列表(管道)

在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)

currying kdb q-lang

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