This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
study:data_analysis:clojure_mathematica_r [2013/11/01 20:37] netpyoung 초안작성 |
study:data_analysis:clojure_mathematica_r [2019/02/04 14:26] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
Clojure가 어떻게 "Mathmetica와 R과 연동"하는가에 대해 설명함. | Clojure가 어떻게 "Mathmetica와 R과 연동"하는가에 대해 설명함. | ||
- | |||
### [Mathematica](http://www.wolfram.com/mathematica/)란? | ### [Mathematica](http://www.wolfram.com/mathematica/)란? | ||
- | http://en.wikipedia.org/wiki/Mathematica | + | - http://mirror.enha.kr/wiki/매스매티카 |
+ | - 개발자인 스티븐 울프램은 신동이다. 영국 상류층에서 태어나서 이튼 칼리지를 다니다가 자기 수준에 안 맞는다고 생각해서 자퇴하고, 옥스포드 대학에 들어갔는데 강의가 수준이 낮다고 생각하고 2년도 못 버티고 또 자퇴하고 칼텍으로 건너가서 2년이 채 안 지난 20살때 박사학위를 받는다. | ||
+ | - 입자물리를 연구하면서 연구할때 쓸 컴퓨터 프로그램을 짜다가 물리학 때려치우고 이길로 나섰다. 그래서 자기가 짠 컴퓨터 프로그램을 팔기 시작했는데 그것이 바로 매스매티카. | ||
### [R](http://www.r-project.org/)이란? | ### [R](http://www.r-project.org/)이란? | ||
+ | - R은 통계 계산 및 그래픽을 위한 언어이자 free 소프트웨어 환경. | ||
+ | - KRUG 한국R사용자모임: http://r-project.kr/ | ||
+ | - 2013.11 세미나: http://r-project.kr/content/r-manuals-11%EC%9B%94-%EC%84%B8%EB%AF%B8%EB%82%98-%EC%9D%BC%EC%A0%95%EC%9E%85%EB%8B%88%EB%8B%A4 | ||
- | 1988/06/23 | + | ### [Rserve](http://rforge.net/Rserve/) |
+ | - Rserve는 다른 프로그램이 R의 기능을 활용할 수 있도록 도와주는 TCP/IP서버. | ||
+ | - Java에서 클라이언트/서버개념 없이 R의 활용하려면, JRI라는 것도 있음. - http://rforge.net/JRI/ | ||
- | |||
- | ### Rserve | ||
- | Rserve는 다른 프로그램이 R의 기능을 활용할 수 있도록 도와주는 TCP/IP서버. | ||
### LocalRepo | ### LocalRepo | ||
- | * https://github.com/kumarshantanu/lein-localrepo | + | - https://github.com/kumarshantanu/lein-localrepo |
+ | - leiningen의 의존성을 해결하는데 있어, jar파일가지고, 로컬에 저장소를 만드는것. | ||
+ | - 원레는 maven이 해줘야 하는 일이지만.. 간편하게 `lein localrepo install foo-1.0.6.jar com.example/foo 1.0.6` | ||
- | ### 예제 데이터 | ||
- | * http://www.ericrochester.com/clj-data-analysis/data/all_160.P3.csv | ||
+ | ### 8장에서 쓰는 예제 데이터 | ||
+ | - http://www.ericrochester.com/clj-data-analysis/data/all_160.P3.csv | ||
Line 32: | Line 36: | ||
참고: http://drcabana.org/2012/10/23/installation-and-configuration-of-clojuratica/ | 참고: http://drcabana.org/2012/10/23/installation-and-configuration-of-clojuratica/ | ||
- | Ubuntu 12.04 LTS - 64-bit | + | 환경: Ubuntu 12.04 LTS - 64-bit |
* mathmatica 다운로드. | * mathmatica 다운로드. | ||
Line 41: | Line 45: | ||
- | </markdown><code> | + | </markdown><code cmd> |
$ sudo sh Mathematica_9.0.1_LINUX.sh | $ sudo sh Mathematica_9.0.1_LINUX.sh | ||
Line 101: | Line 105: | ||
- | </markdown><code> | + | </markdown><code cmd> |
C:\clj-interop>ls | C:\clj-interop>ls | ||
Line 116: | Line 120: | ||
C:\clj-interop> lein localrepo install "C:\Program Files\Wolfram Research\Mathematica\9.0\SystemFiles\Links\JLink\JLink.jar" local.repo/JLink 9.0.0 | C:\clj-interop> lein localrepo install "C:\Program Files\Wolfram Research\Mathematica\9.0\SystemFiles\Links\JLink\JLink.jar" local.repo/JLink 9.0.0 | ||
</code><markdown> | </code><markdown> | ||
+ | |||
Line 129: | Line 134: | ||
C:\Program Files\Wolfram Research\Mathematica\9.0\SystemFiles\Links\JLink\SystemFiles\Libraries\Windows\ | C:\Program Files\Wolfram Research\Mathematica\9.0\SystemFiles\Links\JLink\SystemFiles\Libraries\Windows\ | ||
C:\Program Files\Wolfram Research\Mathematica\9.0\SystemFiles\Links\JLink\SystemFiles\Libraries\Windows-x86-64 | C:\Program Files\Wolfram Research\Mathematica\9.0\SystemFiles\Links\JLink\SystemFiles\Libraries\Windows-x86-64 | ||
+ | |||
Line 137: | Line 143: | ||
project.clj | project.clj | ||
- | </markdown><code> | + | </markdown><code clojure> |
(defproject mm "0.1.0-SNAPSHOT" | (defproject mm "0.1.0-SNAPSHOT" | ||
:dependencies [[org.clojure/clojure "1.5.1"] | :dependencies [[org.clojure/clojure "1.5.1"] | ||
Line 148: | Line 154: | ||
src/mm/core.clj | src/mm/core.clj | ||
- | </markdown><code > | + | </markdown><code clojure> |
(ns mm.core) | (ns mm.core) | ||
Line 176: | Line 182: | ||
src/mm/clojuratica.clj | src/mm/clojuratica.clj | ||
- | </markdown><code> | + | </markdown><code clojure> |
(ns mm.clojuratica | (ns mm.clojuratica | ||
(:use mm.core) | (:use mm.core) | ||
Line 268: | Line 274: | ||
mma/line-integral.m | mma/line-integral.m | ||
- | </markdown><code> | + | </markdown><code m> |
SyntaxInformation[lineIntegrate] = | SyntaxInformation[lineIntegrate] = | ||
{"LocalVariables" -> {"Plot", {3, 3}}, | {"LocalVariables" -> {"Plot", {3, 3}}, | ||
Line 289: | Line 295: | ||
### Ubuntu 12.04 LTS | ### Ubuntu 12.04 LTS | ||
- | </markdown><code> | + | </markdown><code cmd> |
$ sudo vi /etc/apt/sources/list | $ sudo vi /etc/apt/sources/list | ||
Line 321: | Line 327: | ||
- | </markdown><code> | + | </markdown><code cmd> |
C:\clj-interop>R.exe | C:\clj-interop>R.exe | ||
> install.packages("Rserve") | > install.packages("Rserve") | ||
Line 344: | Line 350: | ||
project.clj | project.clj | ||
- | </markdown><code> | + | </markdown><code clojure> |
(defproject rr "0.1.0-SNAPSHOT" | (defproject rr "0.1.0-SNAPSHOT" | ||
:dependencies [[org.clojure/clojure "1.5.1"] | :dependencies [[org.clojure/clojure "1.5.1"] | ||
Line 350: | Line 356: | ||
[local.repo/RserveEngine "1.8.0"]]) | [local.repo/RserveEngine "1.8.0"]]) | ||
</code><markdown> | </code><markdown> | ||
+ | |||
src/rr/core.clj | src/rr/core.clj | ||
- | </markdown><code> | + | </markdown><code clojure> |
(ns rr.core) | (ns rr.core) | ||
Line 403: | Line 410: | ||
;; =================== | ;; =================== | ||
;; Vector를 R로 넘겨주기. | ;; Vector를 R로 넘겨주기. | ||
- | ;; =================== | + | |
(require '[clojure.string :as str]) | (require '[clojure.string :as str]) | ||
Line 501: | Line 508: | ||
r/chisqr-example.R | r/chisqr-example.R | ||
- | </markdown><code> | + | </markdown><code r> |
dat <- data.frame(q1=sample(c("A","B","C"),size=1000,replace=TRUE), | dat <- data.frame(q1=sample(c("A","B","C"),size=1000,replace=TRUE), | ||
sex=sample(c("M","F"),size=1000,replace=TRUE)) | sex=sample(c("M","F"),size=1000,replace=TRUE)) | ||
Line 530: | Line 537: | ||
# X-squared = 0.7427, df = 2, p-value = 0.6898 | # X-squared = 0.7427, df = 2, p-value = 0.6898 | ||
</code><markdown> | </code><markdown> | ||
- | |||
## 기타 | ## 기타 |