首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure / Incanter数据转换功能

Clojure / Incanter数据转换功能
EN

Stack Overflow用户
提问于 2013-02-05 00:16:32
回答 1查看 693关注 0票数 4

我正在考虑Clojure / Incanter作为R的替代方案,只是想知道clojure / incanter是否有能力执行以下操作:

  1. 将SQL语句的结果导入数据集(我使用dbGetQuery在R中这样做)。
  2. 重塑数据集--将行转换为列,也称为“枢轴”/“不枢轴”--我在R中使用了reshape,reshape2包(在R世界中,这被称为熔化和铸造数据)。
  3. 将重塑的数据集保存到SQL表中(我在R中使用dbWriteTable函数在RMySQL中这样做)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-05 02:08:41

您可能对core.matrix感兴趣--这是一个将多维数组和数值计算功能引入Clojure的项目。仍然处于非常活跃的开发阶段,但已经可以使用了。

功能:

  • 干净的,功能性的API
  • 适当多维阵列
  • 使用Clojure数据的惯用风格,例如嵌套向量[[1 2] [3 4]]可以自动作为2x2矩阵使用。
  • 您可能期望的所有数组整形功能。
  • 所有常用的矩阵运算(乘法、缩放、行列式等)
  • 支持多个后端矩阵实现,例如高性能的JBLAS (使用本机代码)

参见这里的一些示例代码:

代码语言:javascript
复制
  ;; a matrix can be defined using a nested vector
  (def a (matrix [[2 0] [0 2]]))

  ;; core.matrix.operators overloads operators to work on matrices
  (* a a)

  ;; a wide range of mathematical functions are defined for matrices
  (sqrt a)  

  ;; you can get rows and columns of matrices individually
  (get-row a 0)

  ;; Java double arrays can be used as vectors
  (* a (double-array [1 2]))

  ;; you can modify double arrays in place - they are examples of mutable vectors
  (let [a (double-array [1 4 9])]
    (sqrt! a)   ;; "!" signifies an in-place operator
    (seq a))

  ;; you can coerce matrices between different formats
  (coerce [] (double-array [1 2 3]))

  ;; scalars can be used in many places that you can use a matrix
  (* [1 2 3] 2)

  ;; operations on scalars alone behave as you would expect
  (* 1 2 3 4 5)

  ;; you can do various functional programming tricks with matrices too
  (emap inc [[1 2] [3 4]])

core.matrix已经被Rich批准为一个官方的Clojure contrib库,而且很可能Incanter将来会转而使用core.matrix。

core.matrix中没有直接包含SQL表支持,但它只是将结果集从clojure.java.jdbc转换为core.matrix数组的一行代码。下面这样的东西应该能起作用:

代码语言:javascript
复制
(coerce [] (map vals resultset))

然后,您可以使用core.matrix来转换和处理它,不管您喜欢什么。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14698114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档