【问题标题】:(kdb+/q): Conversion of `R` datatypes to `q`(kdb+/q):将 `R` 数据类型转换为 `q`
【发布时间】:2015-05-13 12:15:35
【问题描述】:

有没有人写过R 类型到q 原子类型的完整转换?

类似:

as.qsymbol <- function(x) UseMethod("as.qsymbol")
as.qboolean <- function(x) UseMethod("as.qboolean")

as.qsymbol.character <- function(x)
  structure(paste0('`$("',paste0(paste0(x,collapse = '";"'), '")')), class="qsymbol")

as.qboolean.logical <- function(x) 
  structure(ifelse(x==TRUE,"1b","0b"), class="qboolean")

允许写

as.qboolean(c(TRUE, FALSE))
# [1] "1b" "0b"
# attr(,"class")
# [1] "qboolean"

as.qsymbol(c("foo", "bar baz"))
# [1] "`$(\"foo\";\"bar baz\")"
# attr(,"class")
# [1] "qsymbol"

或者更通用的自动检测:

as.qtype <- function(x) {
  if(class(x) %in% "logical") return(as.qboolean(x))
  if(class(x) %in% "numeric")
  ....}

【问题讨论】:

    标签: r kdb q-lang


    【解决方案1】:

    对于那些现在发现这个问题的人...现在有许多 R 接口可用,包括 https://github.com/KxSystems/rkdb,它具有 kdb+ 类型的映射。文档在自述文件中,在https://code.kx.com/q/interfaces/with-r/#calling-q-from-r

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多