R

R+Python, reticulateでChainer

スライド githubサンプルコード reticulateでRからpython Reticulateでpython chainer

ベクトルセット間の距離

R

d <- 4 n1 <- 1000 n2 <- 2000 # 2つのベクトルセットの、ペアワイズ距離2乗 my.pairwiseL2 <- function(X,Y){ n1 <- length(X[,1]) n2 <- length(Y[,1]) XX <- rowSums(X^2) YY <- rowSums(Y^2) XY <- X %*% t(Y) XXX <- rep(XX,n2) YYY <- rep(YY,each=n…

Meshlab,Rvcg,openCVwithPython

Meshlab 3Dオブジェクトを操作させてくれるGUI。Windows,Mac,Linux OK(ダウンロード) 複数の3Dオブジェクトファイルを置換もできる(PLY,Obj等) ファイルフォーマット変換は あるファイルフォーマットで読み込んで、File -> Export Mesh As -> 保存ファイルの…

3次元空間の彩色

3次元の位置を色識別するために、ルールを入れて色塗りしてみる # zは複素数のベクトル # int0,int1はintensityの上下限、sat0,sat1はSaturation(彩度)の上下限 my.hsv <- function(z,int0=0.6,sat0=0.3,int1=1,sat1=1){ # 複素数の偏角 arg <- Arg(z) s <- …

Sinkhorn's matrix balancingメモ

Barycenter package Subgradient()関数 Sinkhorn's algorithm python paper Matrix Scalling全般の長いレビュー python コードの説明書き .. math:: \gamma = arg\min_\gamma <\gamma,M>_F + reg\cdot\Omega(\gamma) s.t. \gamma 1 = a \gamma^T 1= b \gamma…

学部1回生ゼミ用R資料

以下のテキストファイルはRmd文書。その整形はこちらを参照 こちらにhtmlファイル 数理生物学のためのRメモ作者: ryamada発売日: 2017/02/28メディア: Kindle版この商品を含むブログ (1件) を見る --- title: "ILAS2017" author: "Ryo Yamada" date: "2017年…

チューリングパターン 反応拡散系

こちらのpythonをRに直す a <- 2.8 * 10^(-4) b <- 5 * 10^(-3) tau <- 0.1 k <- -0.005 size <- 100 dx <- 2/size T <- 10.0 dt <- 0.9 * dx^2/2 n <- floor(T/dt) U <- matrix(runif(size^2),size,size) V <- matrix(runif(size^2),size,size) ctr <- 2:(s…

京都大学学部入試数学問題2017で学ぶR

昨日は国立大学(前期)入学試験の初日。京都大学でも国語と数学の試験がありました。 こちらに数学の試験問題(と解答)があります 解説はお任せするとして、Rの練習課題として扱ってみましょう (1)複素数と複素数での変換の話 題意の通りにプロットしてみま…

PythonをRとの比較で練習する

こちらのkindleRコードをなぞってみる R notebookではpythonも使える(pythonが普通に動いている環境で〜Windowsとかだと特別な設定が必要、Linuxだと不要 LinuxのRにrglをインストールするときのトラブルメモ→こちら n <- 10 x <- sample(1:3,n,replace=TRUE…

pythonを使う

ひさしぶりにとほほさんのお世話になる(こちら) ベクトル演算 n = 4 a = range(1,n+1) a = 1:n import math math.exp(reduce(add,[math.log(x) for x in a])) map(math.exp,(map(log,a))) math.factorial(a[-1]) ライブラリ・パッケージの関数 # library(mat…

Rmdでpython

pythonをRstudioで使うためにはRnotebookを使わないとだめかと思いましたが(こちら)、Rmarkdownで行けるようです こちらを真似してやってみる --- title: "pythontest" author: "ryamada" date: "2016年10月15日" output: html_document: default pdf_docume…

離散的な拡散

# 部屋の数 n <- 1000 # 追跡時刻数 n.t <- 1000 # 砂の量を記録する行列 X <- matrix(0,n.t,n) # 初期時刻の砂の量(高さ)をところどころに与える # m箇所に砂がある m <- n/10 # 砂のある場所 X[1,10:50] <- 10 X[1,200:300] <- 100 X[1,500:800] <- 50 # …

四元数の指数関数

こちらに記事がある 四元数 を実部スカラーと、虚部ベクトルに分ける このときだという Rのonionパッケージには、四元数のログを取る関数log()があるので、四元数qの library(onion) my.exp.q <- function(q,t){ qt <- q *t a <- Re(qt) v <- Im(qt) v.len <…

Rで微分方程式2

2要素が作る微分方程式 p <- 1 q <- 1 r <- 1 s <- 1 n.time <- 1000 xs <- ys <- rep(0,n.time) xs[1] <- 2 ys[1] <- 1 delta.t <- 0.01 for(i in 2:n.time){ dx <- p * xs[i-1] -r *xs[i-1]*ys[i-1] dy <- s * xs[i-1] * ys[i-1] - s * ys[i-1] xs[i] <- …

Rで微分方程式

まずは離散的な現象を… 時刻t=0に1個の細菌が、単位時間1ごとに2倍になるという max.t <- 20 xs <- rep(0,max.t+1) xs[1] <- 1 for(i in 1:max.t){ xs[i+1] <- 2 * xs[i] } plot(0:max.t,xs) 差分を取って同じことをする xs.2 <- rep(0,max.t+1) xs.2[1] <-…

フィボナッチ螺旋とボロノイ図

で、に黄金角に近い値を用いて、n=1,2,...で打点する。 その点分布に対してボロノイ図を描く n <- 200 # 点の数 x <- (1+sqrt(5))/2 # 黄金比 delta <- 0.1 # 黄金比からちょっとずらす phi <- 2*pi * (x + delta) # 黄金角 x <- sqrt(1:n) * cos((1:n) * ph…

京大2次試験数学問題をRで表現する

昨日、二次試験前期の第一日目があり、数学の試験問題がウェブ上に出ました(こちら) Rでなぞってみます (1) n >= 2 自然数。のにおける最大値をとする。を求めよ。を求めよ #n <- 2^(seq(from=1,to=10,length=100)) n <- seq(from=2,to=1000,length=10000) t…

installr package

R

Rの最新版をインストールしたり Rのバージョン更新をしたりするパッケージ いわゆるRのGUI画面から、 library(installr) updateR() # installr() として、あとは、プロンプトに(基本はデフォルトで)返事をするだけ パッケージの自動移行もしてくれるようだ

JuliaとRとの速さの比較をしてみる

Dirichlet問題と言うのがある 周辺の値が固定されているときに内部で調和する関数はどんなものか、という問題 これをシミュレーションで解いてみることにする(正方形という簡単な領域での単純な例) 以下は、こちらにあるJuliaのソース(Juliaのインストールな…

RのGUIを英語化する

R

Rをデフォルトインストールすると、日本語になる(昔は日本語がなかったけれど、楽になったものです…) でも、何かの拍子に英語版で使いたいこともある Windowsの場合、Rの起動ショートカットのリンク先に"C:\Program Files\R\R-3.2.2\Rgui.exe"とかと書いてあ…

スライシング 任意進法

my.slice <- function(v,dm,d,j){ tmp <- list() for(i in 1:length(dm)){ tmp[[i]] <- 1:dm[i] } tmp2 <- as.matrix(expand.grid(tmp)) return(list(v=v[which(tmp2[,d]==j)],dm=dm[-d])) } my.slice.2 <- function(v,dm,d,j){ j <- j-1 n <- length(dm) dm…

外接中心

こちらにも書いた通り、三角化した後、その外接中心を取ることは便利 外接中心をさらっと線形代数処理で出すには、こちらのpydecのそれがよい Barycentric coordinateで出してそのあと通常座標にすればよい それをRで書き換えると: my.circ.center.bary <- …

GithunにあるR sourceを使う

githubからr-sourceを取ってくる git clone https://github.com/wch/r-source cd r-source CRAN推奨のパッケージセットをダウンロードする tools/rsync-recommended configureして、PCの環境に応じてmakefileを作る ./configure arch/manjaro Linuxでほぼ何…

Armadillo,RcppArmadilloにみるC++ライブラリのR化

Armadilloの中身をみるためにはここからダウンロード RcppArmadilloの中身を見るためにはこのgithubへアクセス まずは、Armadilloが何かを確認しよう C++で素敵に線形代数をやるためのライブラリで、LAPAKとかに依存している(依存せずに使ってもよいらしいけ…

CのライブラリをRのパッケージにする

R C

Using R — Packaging a C library in 15 minutes Linking static library into R,static library use for R extension Static library 基本的には 動くCライブラリをローカルにとってきて、それのstatic libraryをコンパイルして作り、それをRのパッケージの…

ほかのパッケージの関数を使う; github & R package

この記事の「なんちゃってRパッケージ」はこちら Here is the github containing files and directories handled in this note. 次のようなMCMCpackパッケージのridichlet()関数を使った関数をパッケージ内に使いたいとする You may want to use some R pack…

Helpファイルを充実させる; github & R package

ヘルプファイルは、各関数を1関数-1Rファイルとしたうえで、特定の書式に従って書くことによって充実させられる Now you may want to or have to make help files appropriate for semi or full-official package style. Write each R file for each R fun…

Rcpp; No helps; github & R package

この記事の「なんちゃってRパッケージ」はこちら Here is the github containing files and directories handled in this note. Rcppのよさは、Rcppファイルを作ると、Cpp関数をRから呼び出す関数(ラッパー関数)を書く必要がないこと Rxpp is a package to u…

Fortran function; No helps; github & R package

この記事の「なんちゃってRパッケージ」はこちら Here is the github containing files and directories handled in this note. Fortran関数を組み込んでみる Let's try fortran functions. 基本は同じで、use_rcpp()関数を使ってsrcフォルダを作り、そこにf…

C function; No helps; github & R package

この記事の「なんちゃってRパッケージ」はこちら Here is the github containing files and directories handled in this note. Cの関数を取り込むには、C関数をダイナミック・リンク・ライブラリにしつつ、それを呼び出す、という仕組みにする必要がある Le…