2017での講演内容を再編成した物です。Node.jsで作られたアプリケーションや、Electronアプリケーションを、Rと連携させたいと思ったことはありませんか?JavaScriptとRの連携Rで統計処理をしているときに、JavaScriptでインタラクティブなビジュアライゼーションを行いたい、ということはあると思います。al.)という便利なパッケージがあります。al.)も便利なパッケージで、threejsやbokehなどの連携を行うことができます。逆は、というとあまり決定的なアプリケーションはありません。computerというパッケージがありますが、どのパッケージもRをspawnしてstdin/stdout経由でアクセスしているだけであり、すこし物足りません。そこで、勉強がてら自前ですこし作ってみることにしました。libr-bridgelibr-bridgeはlibr(WindowsではR.dll)と連携して、Node.js環境からRを使用するパッケージです。arrB));libr-bridgeを利用することで、Rの関数にアクセスすることが出来ます。eval関数も備えていますので、とりあえずデータだけ渡してしまって、凝った作業をRスクリプトで行い、結果を受け取ることも出来ます。S3/S4クラスなど対応しないと行けないことは山積みですが、Node.jsで出来る作業の幅を広げてくれます。やって実現しているの?ぜひ、ソースコードを見ていただきたいですがlibRのAPIをゴリゴリに呼び出して動作を行っています。Rの内部挙動を理解するのにも役に立ちました。754に従って、実装されています。これは、1bitの符号と、11bitの指数部、52bitの仮数部で数値を表す方式です。NaNはこの決まりに含まれており、指数部のbitがすべて1であり、仮数部が0以外のもの、と定められています。これは他の言語も共通です。NAはR独自の表現であり、この決まりの中には含まれていません。Ihakaの誕生年)のNaNをNAとして区別して扱っています。今回、libr-bridgeを作るのに、Rの内部を調べていくうちにこういった小ネタをいくつか見つけたので、また次の機会にでも記事にしたいと思います。育児って、喉元すぎたら忘れちゃうからさ。育児って、喉元すぎたら忘れちゃうからさ。「情熱価格」のACプラグ付充電器を試してみた。「情熱価格」のACプラグ付充電器を試してみた。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。