R

R-function-only; A bit helps; github & R package

この記事の「なんちゃってRパッケージ」はこちら Here is the github containing files and directories handled in this note. ヘルプを開いてもどんな関数があるのかもわからないのでは困るので、少しの手間をとることにする No help article is very inco…

R-function-only; No helps; github & R package

この記事の「なんちゃってRパッケージ」はこちら Here is the github containing files and directories handled in this note. githubアカウントでの作業 Tasks in your github account Githubアカウント(アカウント名がryamada22とする)で新しいrepository…

github & R package

この記事はとても良いです(Japanese only) Rパッケージの良さはインストールが簡単でヘルプ記事が必ずついていること One of R's strong points is that installing packages is easy and every package has its help article. その良さはパッケージ作成の側…

C,Fortranを使うRのtoy example packages

最小構成(C):解説文 C,C++,Fortran useDynLib()とかNamespaceとか→こちら

些細なこと〜Rの自分用関数をGithub公開型パッケージにする

作ってしまったgithubのレポジトリを消したいことがある。特にはじめのころは馬鹿みたいなものを作ってしまって、ごちゃごちゃになるので そのときは、そのレポジトリのsettingsに行き、その下のように出てくる「危険な操作」の中にある、消去、を選ぶ 何度…

おおまかな流れ〜Rの自分用関数をGithub公開型パッケージにする

簡単には以下の手順 準備 githubを使えるようにする Rのdevtoolsパッケージを使えるようにする Rのroxgen2パッケージを使えるようにする 作成の方法 "Rryamada"というパッケージを作る ローカルPCにRのパッケージとして適切なディレクトリ構成と最低限のファ…

更新の方法〜Rの自分用関数をGithub公開型パッケージにする

ローカルPCのディレクトリはすでにgithubのRryamadaとリンクしているので、 適当に書き換えて、それに応じて document() もして、その上で以下のようにする。すべてを上げずに、変更したものだけを指定しても良いかもしれない git add . git commit -m 'modi…

利用の方法〜Rの自分用関数をGithub公開型パッケージにする

これは簡単。roxygen2パッケージをインストールしたのと同じで library(devtools) install_github("ryamada22/Rryamada") library(Ryamada)

作成の方法〜Rの自分用関数をGithub公開型パッケージにする

Rのパッケージは、「インストール」という手続きを踏んで使うことになるので、その「インストール手続き」に合致したファイル構成を作る必要がある その構成と必要ファイルとをぱぱっと作ってくれるのが、devtoolsパッケージとroxygene2パッケージとが提供す…

準備〜Rの自分用関数をGithub公開型パッケージにする

LinuxノートPCが手元に入ってgitやら、コンパイルやらが簡単になったので、遊んでみよう 準備 Github,git Githubに無料アカウントを作る→ryamada22のgithub gitコマンド操作ができるようにする Arch/Manjaroリナックスの場合は sudo pacman -S git R Rをイン…

Schwarz-Christoffel mapping

SLE曲線の離散版であるSchwarz-Christoffel折れ線についてこちらに書いた Matlabのグラフィカルライブラリがこちらにある Rのconformal packageはTrefethen FORTRAN implementationを実装している(結構、単純なのしか回らないみたいだが…) python版 fortran版

私のためのC++ for R

目標は、複数ファイルで構成したc++ファイルたちを、R用のダイナミック・ライブラリにしたうえで、それをRから呼び出して使えるようになること。Windows特有のコンパイル問題についても適宜、対処する 日英併記 Rのためのc++作者: ryamada発売日: 2015/07/22…

GithubとR

Rのパッケージはよいのだけれど、関連諸ファイルの不備があると蹴られてしまうので、「やっつけ仕事」を「自分用のパッケージ」にして置いておくのにはちょっと面倒 Githubを使うとその部分が回避されるなら…と、調べもの→こちら install.packages("devtools…

DLLして使えるようにする

R C++

R-extentionマニュアルの5.6(こちら)(こちらなら4.3)をそのままなぞれば、ヘッダーファイルとそれに対応するcppファイルとを使った実行cppファイルを、DLLにした上で、R内から呼び出して使うことはできる はて。 あまりに自分の使い方と遠いので、何をしてい…

C/C++ so/dllのR読み込み

C++をRで使うとはどういうことか、というと… C++(Cも)として動いている何かがある それをRから使える動的ライブラリにして、 それをRから呼び出せるようにRに接続して、 Rから呼び出す関数を作り そして使う という段階を踏む 「C++(Cも)として動いている何…

Armadillo with or without R

準備:g++が使えるようにしておく Have g++ ready. Windowsなら、Rtoolsを使ってR経由で使えるようにすればよい You can use Rtools for windows to get g++ ready. さて。Rとは別にArmadilloを使った1枚のソースコードファイルがあるとする You have one f…

私のための3次元閉曲面の共形変換

Rmdファイル 拡充して、こちらに移動 --- title: "球面の変形〜Rで学ぶ曲面の四元数共形変換" author: "ryamada" date: "Saturday, April 04, 2015" output: html_document --- # 球面の変形〜Rで学ぶ曲面の四元数共形変換〜 # 使用するパッケージ一覧 ```{r…

球面三角形メッシュ

曲面変形を基本形の球から、とすると、いろんな細かさの球面メッシュがほしい。自作する。 my.sphere.tri.mesh <- function(n.psi=30){ thetas <- list() psis <- seq(from=-pi/2,to=pi/2,length=n.psi) d.psis <- psis[2]-psis[1] hs <- sin(psis) rs <- sq…

Rで曲率指定的な曲面共形変換変形

ここ数日(数週間?)C++で書かれていて、MATLABにはすぐ連結する(らしい)疎行列ライブラリSuiteSparseを用いて離散微分幾何的アプローチの曲面変形について、調べてきた RにもSuiteSparse準拠の疎行列用パッケージMatrixがあるので、それに連結してみようとい…

疎行列要素への繰り返し処理

昨日の記事では、曲面の変形・共形変換・スピン変換をRでなぞってみているが、その中で、疎行列を扱っている 三角化メッシュの辺の両端頂点IDを番地とする行列を疎行列で作り、その要素を辺が含まれる三角形の数だけ操作をしたいのだが 何回の操作になるのか…

疎行列処理はアドレス重複が苦手

昨日の記事では、曲面の変形・共形変換・スピン変換をRでなぞってみているが、その中で、疎行列を扱っている 三角化メッシュの辺の両端頂点IDを番地とする行列を疎行列で作り、その要素を辺が含まれる三角形の数だけ操作をしたいのだが 何回の操作になるのか…

diffEqパッケージで数値微分

こちらのPDFをただコピーして実行してみるだけ Solving Differential Equations in R (Use R!)作者: Karline Soetaert,Jeff Cash,Francesca Mazzia出版社/メーカー: Springer発売日: 2012/06/07メディア: ペーパーバックこの商品を含むブログを見る この本の…

使ってみる〜疎行列計算、SuiteSparse for R

さて、うんちくは前の記事に任せて、使ってみることにしよう まずは、密行列と疎行列のうちの、密行列の扱い 密行列 形に応じて、7種類の密行列オブジェクトを用意している dgeMatrix:普通の実数行列を普通に保管 dsyMatrix:実対称行列を圧縮しないで保管 d…

疎行列計算、SuiteSparse for R

疎行列は大規模なデータで扱いたくなる SuiteSparseはこちら。MATLABを想定したCでの実装 その実装についての本もある Direct Methods for Sparse Linear Systems (Fundamentals of Algorithms)作者: Timothy A. Davis出版社/メーカー: Society for Industri…

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

昨日は国立大学(前期)入学試験の初日。京都大学でも国語と数学の試験がありました。 こちらに数学の試験問題(と解答)があります 解説はお任せするとして、Rの練習課題として扱ってみましょう (1)二次元平面に2つの曲線を定め、それをx軸を中心に回転して…

根から多項式を作る

こちらやこちらで、ARIMAをやっている ARIMAモデルでは、再帰フィルタを用いて、autocorrelation integratedを扱うが、その場合は、再帰度が上がるにつれ、数列発散が起きる それを避けるために、再帰フィルタベクトルの値の大まかな制限が以下で与えられる …

Rcpp sugarで統計分布の関数を使う

Rcppのsugarというのは、Rcppパッケージで提供される、cppコードとして使う関数なんだけれども、その名称がうまいことR本体の関数と同じように作ってあって、Rの関数を思い出しながらcppを書けるようにしてくれている一群の「Rユーザを甘やかす関数」のこと …

rforscience

rforscienceのサイトは、海洋データなどの扱いを中心に、微分方程式の扱い、球面プロット・3次元プロットなどに関していろいろ提供している 3次元プロットにはrglパッケージがあるが、少なくとも、ある面では、rforscienceが提供しているplot3Dパッケージ…

Armadillo

ArmadilloはC++の線形代数ライブラリなのだけれど、Rで使うときにはRcppArmadilloパッケージを介して使う手がある(C++のArmadilloをC++を書くときに使ってもよいのだろうけれど、それより「R Armadillo連携に特化しているということだろう Rcpp自体の代りにR…

STL

STLとは 色々あるけれど、いくつかの大事な塊がある (1)Iterator (繰り返し処理のための仕組み) (2)アルゴリズム (3)データ構造 (1) Iterator 地道にベクトルの要素アドレスを指定して回すこともできるが… double sumC(NumericVector x) { int n = x.size();…