このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

2015-12-01から1ヶ月間の記事一覧

空なシンボルが作れない

R言語メタプログラミングの基礎:補足 - 檜山正幸のキマイラ飼育記 結局、quote(expr=) 。as.character(quote(expr=)) は確かに空文字列。対称性がなさ過ぎ。

なぜfunctionだけは呼び出せない

R言語メタプログラミングの基礎:補足 - 檜山正幸のキマイラ飼育記 `(`関数や`{`関数でさえ、バッククォート(バックチック)すれば呼び出せる。のに、`function`だけは呼び出せない。これは何なんだ。callでコールオブジェクト作ってevalするって異常。`fun…

localとwith

名前空間の制御には、localとwithがある。なかなか使えるヤツ。

エンコーディング指定は、fileEncoding=

> (dcsv("data.csv", fileEncoding="utf-8"))

koan

koan【名】〔禅の〕公案◆日本語から https://en.wikipedia.org/wiki/K%C5%8Dan koanicなんて形容詞もある。

部分写像の圏、単元例外処理とか

集合圏、部分写像の圏、関係圏は一緒に考えて互いに比較するといいようだ。今の焦点は部分写像の圏。まずは、モナド、つうか随伴関手対と共に考える。Set上のモナドAugを考える。Augはaugmentation(増加、増強、増大、添加物、拡大)のことで、付点モナドと…

等値性と論理ベクトル

比較の結果は長い方に揃える、と思いきや。 > length(1) [1] 1 > length(c(1, 2)) [1] 2 > 1 == c(1, 2) [1] TRUE FALSE > length(numeric(0)) [1] 0 > mode(numeric(0)) [1] "numeric" > 1 == numeric(0) logical(0) >

allとanyの語の選び方がどうなの?

論理ベクトル(真偽値のベクトル)に対して、それを集約する関数allとanyがあるが: allは∀に対応 anyは∃に対応 for all x と for any x は同義で使われることがあるのを考えると、anyって語はマズイよね。all, anyがany, someってことだってあるし。all, so…

モードとタイプの食い違い

> mode(as.name("a")) [1] "name" > mode(1) [1] "numeric" > typeof(1) [1] "double" > mode(1L) [1] "numeric" > typeof(1L) [1] "integer" > これはまーいい。typeofのほうが詳しいと思えばいい。 > mode(as.symbol("a")) [1] "name" > typeof(as.symbol(…

インデックス/キーの範囲外、NULLの解釈が酷いの一言

準備。 > vec > lis > env > env$a 試す。 > vec[4] [1] NA > vec[[4]] 以下にエラー vec[[4]] : 添え字が許される範囲外です > lis[4] $ NULL > lis["d"] $ NULL > lis[[4]] 以下にエラー lis[[4]] : 添え字が許される範囲外です > lis$d NULL > lis[["d"]]…

ブラケットとダブルブラケットとダラー

ブラケット演算子`[`は第二引数に数値ベクトル/名前文字列ベクトルを取るスライス演算を意味する。ほんとに成分(構成要素)を取り出すのはダブルブラケット演算`[[`。ダラー$はダブルブラケット演算のシンタックスシュガーと思えばいいだろう。 iris[["Sep…

ゼロと負のインデックスと空ベクトル

長さゼロのベクトル(空ベクトル)は存在すると考えたほうがいいようだ。長さが0になっても、型情報だけが残り、それがインデックスゼロでアクセス可能。あるいは、インデックス0が特別に長さ0のスライスを表している、とも解釈できる。インデックスゼロで型…

サンプル関数

createCounter <- function(init = 0) { value <- init function(count = 1) { if (!exists("delta")) delta <- 1 value <<- value + delta*count value } }

CRANミラーサーバーのサイトを切り替える

"http://cran.md.tsukuba.ac.jp/" が調子悪いので、"http://cran.ism.ac.jp/" にした。次の関数を定義した。 setCranSite <- function(site) { options(repos= local({ r <- getOption("repos"); r["CRAN"] <- site; r }) ) }

パッケージ関係

とりあえず関数名/変数名。関数か変数か、先頭ドットが付くか付かないか、などがバラバラ。名前が整理されてないと記憶が困難(ルール無しで腕力記憶)。 find.package() installed.packages() search() .packages(TRUE) path.package() .Autoloaded .Libra…

処理系とライブラリのメタ情報

統計処理言語Rのインストールと設定(ほぼプラットフォーム非依存) - 檜山正幸のキマイラ飼育記 の最後のほうに書いたのも含まれるけど: R.Version() R.version version R.home() .Pratform .libPaths() .Library .Library.site path.package() installed.…

パッケージ関係

とりあえず関数名/変数名。関数か変数か、先頭ドットが付くか付かないか、などがバラバラ。 find.package() installed.packages() search() .packages(TRUE) path.package() .Autoloaded .Library .Library.site .libPaths()

options()と.Options

内容は同じだが型が違う。 options() は list .Options は pairlist getOptions()つう関数もある。

named xxx型

独立した型ではない。xxx型のベクトルにnames属性で名前(文字列)のベクトルを付ける。すると、文字列キーで引けるxxx型ハッシュのように使える。

名前空間/環境関係の関数

「環境」というと、「プログラミング環境」とかでも使うので、環境オブジェクトがいいかも。関数の詳細はhelpで調べる。 search() 名前のサーチパスを表示する。並びは、親子関係によるlinked listになっている。 library() サーチパスにライブラリ(パッケ…

やり直し

使っている時はいいけど、使わないと忘れるのでマトメが必要だ。パッケージマネージャ的な使い方 CRANリポジトリの設定と変更 CRANのパッケージリスト CRANの検索、特定パッケージ、パターン インストールされているパッケージの一覧 特定のパッケージがイン…

処理系のバージョン確認

R.Version() または version で表示される。目で見るだけなら version が便利。

サンプルのデータセット

datasetsというパッケージが最初から読み込まれている。 > data() 別ウィンドウで表示。 library(help = "datasets") でも同じ。一覧が出るんで、名前を選ぶとデータが出る。 > Titanic データはデータフレーム、テーブル、マトリックスなど。後は適当に処理…

Lサフィックス

整数値を表すのにLを使う。なんでLだ? とは誰でも思うだろう。 http://stackoverflow.com/questions/24350733/why-would-r-use-the-l-suffix-to-denote-an-integer

モノイドから作るモノイド圏

アフィン空間も一般化距離空間、指数は引き算 - 檜山正幸のキマイラ飼育記 メモ編 では、ベクトル空間を圏とみなしたが、すべてのベクトルを対象と思って、離散圏としている。モノイドMがあるとき、Mを圏とみなすために、対象類として単元集合を想定して、M…

Clingビルド 失敗の記録

LLVM/CLang上のC++インタプリタ Cling https://root.cern.ch/cling Windows上のビルドはダメだった。いまいましいコマンドラインは: $ cmake --build . --config Release --target clang.... # この間、2時間弱[100%] Linking CXX executable ../../../../b…

アナロジーを追え! 同義語を探せ

カリー/ハワード対応は、まさにアナロジーの勝利。マーク・ホプキンスの観測もアナロジーだし、バエズ/ステイのロゼッタストーンにしろアナロジーだ。表のまとめ: 2015年10月、11月、12月ほんの少し - 檜山正幸のキマイラ飼育記 メモ編 の表の多くはアナ…

表のまとめ: 2015年10月、11月、12月ほんの少し

主に2015年10月と11月、12月少し(昨日・今日とか)でブログに出現した表を集めてみる。全部一度に眺めると、なにか思いつくかもしれない、と期待して。まとめる作業がイイカゲンだから、順不同で網羅的かどうかも分からない。 豊饒プロ関手は豊饒な世界を提…

アフィン空間も一般化距離空間、指数は引き算

ローヴェルの一般化距離空間では、一般化距離(≒コスト)を測るのに非負実数(∞含める)を使っている。豊饒圏の枠組みで考えれば、別な圏(ベナボウコスモス)でいいはずだ。ベクトル空間Vを次のようにしてモノイド圏Cだと考える。 |C| = V 対象=ベクトルに…

GNU Global

http://www.gnu.org/software/global/download.html glo651wb.zip (Version 6.5.1) インストール先 C:\Installed\GnuGlobal\ パス追加: C:\Installed\GnuGlobal\bin コマンド: gtags, htags, global 使い方 $ cd src-of-FOO $ gtags -vw [Thu Dec 03 20:04…