タグ

ブックマーク / blog.recyclebin.jp (7)

  • R のウェブアプリケーションフレーム shadowy - 捨てられたブログ

    R のウェブアプリケーションフレームワークと言えば shiny ですが, shiny はどちらかというと View (UI) ありきの設計になっています。最近 R で API サーバーを作りたいみたいな需要があると思います。あると思っているだけで,実際にあるかどうかについてはここでは議論しません。 ところで最近ウェブアプリケーションを Suave で作る機会があって,とても使いやすい API だという印象でした。そこで, R でも似たようなことができないかと思ってやってみました。名前は, UI ベースの shiny に対応して shadowy です。ウェブサーバー自体は Rook パッケージの力を借りています。うまくやればサーバーを shiny にすることもできる気がします。 shadowy について例によって「第50回R勉強会@東京(#TokyoR)」で発表してきましたので,ここに資料を

  • 状態遷移とコンピュテーション式 - 捨てられたブログ

    This is the sixth post of the F# Advent Calendar 2014 (in Japanese). English translation of the post will be available here. この記事は「F# Advent Calendar 2014」の 6 日目の記事です。前日は bleis-tift さんの『実例に見るSource変換活用術』でした。 今年はコンピュテーション式の話が多いような気もしますが,今日もコンピュテーション式の話です。 コンピュテーション式といえばモナドを記述するための構文という見方が強いですが,一方でドメイン特化言語 (DSL) を記述するための構文として使えるということも忘れてはならないと思うのです。 F# 3.0 より導入された CustomOperationAttribute を用いることで,キー

  • .NET のコンパイラーとバージョン情報 - 捨てられたブログ

    csc が常に正しい結果を返し, fsc はアセンブリーバージョン非互換値を指定すると AssemblyFileVersion を製品バージョンとして使用し, mcs はファイルバージョンに AssemblyVersion で製品バージョンに AssemblyFileVersion を使い, fsharpi は常に無視されます。なお,どのコンパイラーでもアセンブリー中の属性は 3 属性とも正常に記録されている模様です[D]。 もともと行っていたのがビルドしたアセンブリーの情報から NuGet パッケージのバージョンを決定するということでした。 NuGet のバージョンは 1.0-beta のようなハイフン区切りのバージョンをプレリリース版としてみなすので, AssemblyVersion だとそのような指定ができないのです。 FAKE スクリプトはバージョンを明示的に指定しないと 0.1

  • F#談話室(6) に参加 - 捨てられたブログ

    『F#談話室(6) セッション大会』に参加して F# のコードクォートの話をしてきました。そしてなぜか Nemerle の話もしてきました。スライドを以下に貼っておきます。 5 分でわかるコードクォート デモコードは以下です。 OpTracer.fs にコードクォートを使ったコードが入っています。コードクォートを使って演算過程を記録しています。制限があって,四則演算くらいにしか対応していません。 Nemerle の紹介 なぜか Nemerle と F# が立て続けにマイナーバージョンを 1 つ上げたということがあったので,簡単にまとまりなく F# と比較して紹介しました。 Nemerle の紹介なのに Nemerle のコードがなくてごめんなさい。現場ではデモをやりましたが,コードはここでは公開していません[A]。 脚注 Nemerle がどんなものか知りたい方は公式 wiki やサイト

  • 異常領域を含む時系列データの平滑化 - 捨てられたブログ

    以下のようなデータ列 を考えます。 は隠れ状態 に依存する乱数。 は から確率的に決まる。 具体的に,以下のようなのデータ列を考えます。 t が 5,000 から 5,500 までの領域と 8,000 から 8,200 までの領域が通常と異なる振る舞いを起こしていることが見て取れます (そのように生成したものです)。 こういったデータから異常領域を推定するのは隠れマルコフモデルが有効ですが[A],ここではより単純に,平滑化によって異常領域を視覚化する方法を紹介します。元ネタは Rippe et al. (2012) です。 この手法は,平滑化したデータ列と実際のデータ列の差と,平滑化したデータ列内での変化にそれぞれペナルティを課し,そのペナルティを最小化するという手法です。 Whittaker (1923) の平滑化スプラインを少し改変したものになります。詳細は論文を読んでいただくとして,

  • R を .NET Framework の環境から使う - 捨てられたブログ

    R の統計環境を C# のような .NET Framework の言語から使えると良いと感じることはままあります。そのような方法の 1 つに, R の公式サイトでも紹介されている statconnDCOM があります。しかし, COM の利用にはコンポーネントをインストールする必要があります。また,型が dynamic で渡されるため,せっかく静的型付言語で使うメリットも少なく感じます。そこで以前,直接 DLL を P/Invoke で扱う方法を紹介しましたが,さすがにこれだけでは使い勝手が悪いです。 先日 R.NET というライブラリをオープンソースで公開しました。これは,前述の方法に加えて,ベクトルの操作と,文字列形式の R スクリプトを直接評価することを可能にしてあります。詳しくはプロジェクトサイトを参照してみてください。

  • R で変更不可能な変数を定義する - 捨てられたブログ

    R で変更不可能な変数を作るには lockBinding 関数を使います。 a <- 1 lockBinding("a", .GlobalEnv) 変数を定義してから lockBinding すると誤って変更してしまう場合があるので,定義と定数化を同時に行います。 constAssign <- function(x, value, envir=as.environment(-1)) { e <- envir assign(x, value, envir=e) lockBinding(x, e) } assign 関数と同様に,次のように使うことができます。 constAssign("FOO", 1) 定義した定数を削除する場合は,普通に rm 関数で問題ありません。 rm(FOO) 参考文献 Declaring a Const Variable in R 履歴 [2013-05-14 19

  • 1