2016-07-01から1ヶ月間の記事一覧

球面調和関数をrPython でやる

球面調和関数をやりたいがRではいいものがないのでPythonでやった結果をrPython を使ってRでゴリ押し計算するやり方。R を投げ捨ててPython に移行したかったが、結局R でやっちゃう。 rPython について知りたければ下にスクロール。 球面上の離散的な分布を…

球面上に均等な点を配置したい

球面上に均一な点を配置したい。約N個ならばこんな感じでやれるが、厳密にN 個おきたい。 実装が簡単なこれをやってみる。 そもそも、なぜ均一な点を球面上に配置したいかというと、基準点集合として扱えるからである。計算機では3次元データは離散的に持っ…

rmarkdwon で出力にGIF を入れたい

plot をfor loop にいれたままうっかりrender すると、出力がすべてプロットされて縦に長いhtml ができてしまう。 せっかくだからGIF 化しよう。 こちらやこちらを参考に、fig.show="animate" を指定すればできる。 ただ、ubuntu ではffmpeg が必要だが、簡…

高次元での回転と疎行列

3次元物体を回転させたい。 2次元であれば回転行列は回転角を用いて と書ける。 高次元での回転ならば、正方対角行列(対角成分は1)について、(i, i), (i, j), (j, i), (j, j) 成分をひらすら上ので置換していけば、ある軸での回転を表す。 特に3次元では、x…

rmarkdown とknitr による文書作成

markdown 形式のrmarkdown とknitr を使って、授業資料の作成および解析結果の報告、宿題の提出などやっている。 HTML にすることでrgl の3D プロットなども出せるので、3D データを扱っているときにもよさげ。 真面目にやるならpandoc をインストールしてre…

クラスタリングしないheatmap のNeatMap

読んだ BMC Bioinformatics. 2010 Jan 22;11:45. NeatMap というパッケージで使える。 data(mtcars) # heatmap1 NeatMap::heatmap1(mtcars) # circularmap make.circularmap(as.matrix(mtcars), metric="euclidean", cluster.method="complete.linkage", nor…

3次元空間の補間 kriging

3次元空間の補間 interpolation をしたい。 空間統計学やGIS ではkriging と呼ばれる手法を用いている。 interpolation 自体はakima, kriging はpracma, kriging パッケージでできる。 pracma のkriging は、補間して推定したい点をひとつ入れれば、それに対…