C

Rcppを試してみる

R C

この前紹介したGoogle Summer of Codeのやつですが、メンターがDirk Eddelbuettelさんで、この人はRcppというパッケージを作ってる人で僕はこのパッケージを使ったことがなかったので、使ってみようじゃないかというお話。以下を参考にしつつ。 Rcpp: Seamle…

uint8とかMiniseのコード読んだりとか

C C++

Miniseのコード読みの続き。uint8とかuint64とか出てきてなんじゃいなという感じだったので調べてみる。Minise::addFilehttp://developers.curlap.com/curl/docs/rte/6.0/ja/docs/ja/dguide/primitive.htmlによると データ型 説明 既定値 サイズ(ビット) 有…

俺俺lapply&sapplyを書いてみる【Rの中身はlisp編】

R C

というかWriting R Extensionsにある例をやってみているという感じなんですけど。C言語が(も)あんまり分かっていない僕ですが、それでもRのベクトルや行列のオブジェクトをCレベルで触るにはどうすればいいか段々分かってきました。こうなってくるとRの色々…

Kmeans法のソースを見つつ

Cの勉強もかねつつ。kmeans.cとkmeans.Rから最低限必要そうなところを引っ込抜いてきて、コメントを適度に埋めつつやってみました。Cのソース。100行くらい。短かい。 #include <R.h> #include <Rinternals.h> void mykmeans(double *x, int *pn, int *pp, double *cen, int *pk</rinternals.h></r.h>…

Rの言語仕様とか色々参考にできそうな関数とかのメモ

R C

なんというS式R Language Definitionのp3のシンボルオブジェクト。 > as.list(quote(x + y)) [[1]] `+` [[2]] x [[3]] y > as.list(quote((x + y) * z)) [[1]] `*` [[2]] (x + y) [[3]] z モデル式 言語オブジェクト R 言語を構成する三つのオブジェクトの型…

Confidence interval for kernel density estimator with optimal bandwidth under the cross-validation criterion

R C

ここの続き。カーネル密度推定の場合においての最適なバンド幅をクロスバリデーションで求める、というのはまだやっていなかったのでやりました。カーネル密度推定の場合のクロスバリデーションは、積分の計算が入ってくるので、数値積分をやったりしました…

Rのソースコードを読むために

R C

gtagsとかを入れてみた。関数の定義に飛んだりすることができるなどする。 GNU GLOBAL(gtags)ソースコードタグシステムの使い方

RのコードをCに書き変えてみたら1500倍くらい早くなったけど、早すぎて将来が不安

C R

昨日の続きのところ。Cでナダラヤワトン推定量*1計算させて、Rのoptimを使って計算したら早くなったっぽい気がした。でも、一変数はRだけでまともなコードがなかった(文字列evalとかのやつしか残っていなかった)ので速度比較ができなかった。これじゃ最適化…

クロスバリデーション最小化のコード関係をCで書いてみた

R C

Cで書いてどうなるかを見てみるテスト。やってみて気がついたが、サンプル数が少ないとき、epanechnikovだと分母が0の領域が出てきて微妙な感じになってしまうのでどうにかしないといけないが、面倒なので放置している。。。サンプル少ない時はガウシアンカ…

Cの勉強などなど

C

Rを読む時に必要そうなところを中心にピックアップ。C言語入門 (ASCII SOFTWARE SCIENCE Language)を参考にしつつ。構造体と配列なんちゃら型の配列というのができるらしい。Javaの型付きのArrayListみたいな感じか。 #include <stdio.h> struct pencil { int hardnes</stdio.h>…

Cを使ってRの拡張をする関係の参考リンク

R C

Rのソースコードを読むオフなどしたいなどする。Cに詳しい人がいるとよさそうですか、分かりません。 Introduction to Calling C and Fortran from R ppt注意 暇を見つつ日本語訳などしたい R-C-interface なかなか分かりやすそう 読みたいソース R-2.8.0/sr…

CでRを拡張するための方法解説

R C

解説というほどの解説でもないんだけど、日本語リソースが非常に少ないので、ちょっとは役に立つかもしれないなと思って。短かいですが、上のエントリのCの部分を中心に説明していこうかなと思います。拡張するための3つ方法Writing R Extensionsをばーっと…

CでRの拡張したら速すぎて(40〜50倍)吹いたwww

R C

昨日Gibbs Sampler Algorithmをやってみたわけだが、Rの中でfor文を書いていて必要となるサンプル数が多くなると非常につらくなってくることは目に見えている。しかも、MCMCでは初期値依存となる期間のサンプルを捨てないといけない。そういうわけでじゃんじ…

CとかC++とか

C

研究室で、主に計算やるためにCとかC++使うというのは聞いていたんだが、放置プレイしてますた。何かTop Coderやりはじめた人とか、K&R読み始めた人が多そうなので、この辺でやることにしてみた。C言語入門 (ASCII SOFTWARE SCIENCE Language)作者: レスハン…