Hatena::ブログ(Diary)

もうカツ丼でいいよな このページをアンテナに追加 RSSフィード Twitter

2009 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 12 |
2012 | 02 | 03 | 04 | 05 | 06 | 10 | 11 | 12 |
2013 | 01 | 02 | 04 | 06 |
2014 | 06 |

2009-12-29

[][] 色付け 00:53  色付けを含むブックマーク  色付けのブックマークコメント

diffの結果などに色をつけて見やすくする.場合によっては文字化けするのでページャを指定.

git config --global color.ui auto
git config --global core.pager "lv -c"

git configに--globalを指定すると設定が~/.gitconfigに書き込まれる.指定しなければ各リポジトリの.git/config.

2009-12-27

[][] latexmkのインストールと設定 for OS X 17:56  latexmkのインストールと設定 for OS Xを含むブックマーク  latexmkのインストールと設定 for OS Xのブックマークコメント

LaTeXコンパイルっていうのは文献や数式の参照が入ると複数回のコンパイルが必要になってきて大変面倒ですが,latexmkを使用すると一回のコマンドでplatexやjbibtexのうち必要なものを必要なだけ実行してくれます.

Windows Meadow+YaTeXでLatexmk使うための設定 - もうカツ丼でいいよなを参照.

続きを読む

2009-12-26

[] Mac OS X設定3日目 02:52  Mac OS X設定3日目を含むブックマーク  Mac OS X設定3日目のブックマークコメント

ぼちぼちすることもなくなって快適に使えるようになってきました.

続きを読む

2009-12-25

[] Mac OS X設定2日目 13:14  Mac OS X設定2日目を含むブックマーク  Mac OS X設定2日目のブックマークコメント

ようやく多少まともに使えるようになってきました.

続きを読む

2009-12-24

[] Mac OS X設定1日目 22:02  Mac OS X設定1日目を含むブックマーク  Mac OS X設定1日目のブックマークコメント

はじめてのmacなので色々アレかもしれません.

続きを読む

2009-12-23

[][] R苦手の会#9 01:39  R苦手の会#9を含むブックマーク  R苦手の会#9のブックマークコメント

今回で9回目です.

前回に引き続いてid:wakutekaさんにおんぶにだっこでRグラフィックスの中身を紹介してもらおうぜな会です.

今回はlatticeパッケージでプロットするとき,データをグループに分ける方法なんかを勉強しました.

続きを読む

2009-12-16

[][] ggplot2についてちょっと勉強した(3) -themeを利用した外観の変更- 19:56  ggplot2についてちょっと勉強した(3) -themeを利用した外観の変更-を含むブックマーク  ggplot2についてちょっと勉強した(3) -themeを利用した外観の変更-のブックマークコメント

グリッドの背景とかどうやって変えるのかなーとずっと思ってたんですが,どうやらggplot2ではthemeというものを使うようです.Tsukuba.R#6のid:syou6162の発表(Tsukuba.R#6の発表資料 - yasuhisa's blog)の最後で少し紹介がありましたが,そこでもthemeを設定する関数が使用されています.

それで調べてみるとかなりいろいろ設定できるということが分かったのと,まだ日本語の解説が無いっぽいのでまとめてみました.

参考: Introduction to data analysis. stat405. (Nov 9 のTheme elements)

続きを読む

2009-12-15

[] 植物の成長解析法 21:06  植物の成長解析法を含むブックマーク  植物の成長解析法のブックマークコメント

植物の成長解析について自分用まとめ.

教科書の間違いを指摘するのと数式の誘導をメモる目的で意図的にダラダラと自明なことから説明しています.

なお,解説の多くの部分はno titleを参考にしています.

以下の解説よりもまとまっており,より一般的な議論をしてるので,成長解析の基礎的な部分を習得されている方は上記リンク先を参考にした方が良いでしょう.

続きを読む

2009-12-13

[][] Word 2007で最低限やっておく設定 00:58  Word 2007で最低限やっておく設定を含むブックマーク  Word 2007で最低限やっておく設定のブックマークコメント

論文とか書く場合は常識的に考えてLaTeX使うと思いますが,上からの圧力とか投稿規定とか避けがたい理由によりWordを使わざるを得ない場合もあるでしょう.たぶん.しかし恐れることはありません.スタイルの使い方といくつかの設定さえ押さえておけばWordでもまあボチボチ快適に文書が書けます.

というわけでWord使わないといけない場合はエンジニアのためのWord再入門講座 美しくメンテナンス性の高い開発ドキュメントの作り方(Amazonリンク)に載っている設定をしてるんだけど,この本からWord 2007用の設定探すのはちょっとばかし骨が折れるので多少の変更を加えつつ整理したものをメモ.

オプションの詳しい説明はしないので本を見るかヘルプを参照するなどして下さい.

続きを読む

2009-12-12

[][][][] Cygtermからrefe使うときのメモ 02:54  Cygtermからrefe使うときのメモを含むブックマーク  Cygtermからrefe使うときのメモのブックマークコメント

gemコマンドプロンプトから実行してgem install refeする(多分どうにかこうにかしたらCygwinからでもいけるんだろうけど).C:\Ruby\bin\refeの一行目を

#!c:/ruby/bin/ruby.exe -e load(`cygpath -w #{ARGV.shift}`.chomp)

にするとCygwinからrefeが実行可能に(参考:「Wassr」サービス終了のお知らせ).

これで文字化けしなかったらOK.Cygtermの設定がUTF-8になってて文字化けする場合,C:\Ruby\lib\ruby\gems\1.8\gems\refe-0.8.0.3\lib\refe\searcher.rbを開いて,require 'iconv'を追加,20行目付近以降を

    def adjust_encoding( str )
       Iconv.iconv("UTF-8","EUC-JP",str) 
#      if shift_jis_platform?
#        NKF.nkf('-Es', str)
#      else
#        str
#      end
    end

と書き換えてUTF-8出力させるようにする(参考:適当日記 - 断片部).

2009-12-10

[] Rにおける遅延評価や環境,サーチパスのこと 02:03  Rにおける遅延評価や環境,サーチパスのことを含むブックマーク  Rにおける遅延評価や環境,サーチパスのことのブックマークコメント

遡ること数時間前... 関数のリスト作ろうとしたら妙なことが起こった - もうカツ丼でいいよな

twitterでつぶやいたらいろいろな方が反応してくれたのでちょっと検索した.

え?いちねんまえ?

サーセン><出直してきます!

というわけで家帰って本とか調べました.

結論を言うと,遅延評価もそうなんだけど評価される時のスコープの問題だった.サーチパス上にちゃんと評価されたオブジェクトがあるか否か.

やっとクロージャだとかレキシカルスコープだとかいう単語の意味が分かったような気がする.気がするだけかもしれないので間違ってたら教えて下さい.

以下分かったことまとめ.やたら長くなりました.

続きを読む

[] 関数のリスト作ろうとしたら妙なことが起こった 19:58  関数のリスト作ろうとしたら妙なことが起こったを含むブックマーク  関数のリスト作ろうとしたら妙なことが起こったのブックマークコメント

para1 <- c(  1,  3,  5)
para2 <- c(  7, 11, 13)
parameter <- data.frame(para1, para2)

こんな感じでパラメータのリスト作っておいて

## case 1
fun <- lapply(parameter,
              function(x){
                function(){
                  x[1] + x[2] + x[3]
                }})

こうやってパラメータが違うだけの関数のリストを作ろうとした.

> fun[[1]]()
[1] 31
> fun[[2]]()
[1] 31

上手く動かない…

ところが途中で一度引数を呼び出すと

## case 2
fun2 <- lapply(parameter,
               function(x){
                 hoge <- x   ## <- ココ
                 function(){
                   x[1] + x[2] + x[3]
                 }})
> fun2[[1]]()
[1] 9
> fun2[[2]]()
[1] 31

上手く動く.スコープとかイマイチ理解してないんですがその辺の問題なんですかね.

追記:遅延評価が問題になってるらしい(syou6162 thx!)

一度呼び出すことでxが評価されるから?ということらしい.ただ気になるのは中身が同じに見えるということ

> fun
$para1
function () 
{
    x[1] + x[2] + x[3]
}
<environment: 0x01c22e3c>

$para2
function () 
{
    x[1] + x[2] + x[3]
}
<environment: 0x01c22d78>

> fun2
$para1
function () 
{
    x[1] + x[2] + x[3]
}
<environment: 0x0455f850>

$para2
function () 
{
    x[1] + x[2] + x[3]
}
<environment: 0x0455f71c>

fun2は評価前に見えるけど,ちゃんと動くんだから評価されてるってことなんだろう.これはそういう仕様なのか?

追記2: これはまだ評価されていません.サーチパス上に適切に評価されたオブジェクトが有るか否かが鍵です.cf. Rにおける遅延評価や環境,サーチパスのこと - もうカツ丼でいいよな

[] EBImageを使った画像処理 12:04  EBImageを使った画像処理を含むブックマーク  EBImageを使った画像処理のブックマークコメント

使い方とか.

参考

インストール

source("http://bioconductor.org/biocLite.R")
biocLite("EBImage")

このほかにImageMagicとgtkが必要.

以下http://www.bioconductor.org/packages/devel/bioc/html/EBImage.htmlにあるIntroduction to EBImageを読んでメモしたもの.長いです.気が向いたら目次付けます.付けました.

目次

続きを読む

2009-12-09

[][] Problem 92 11:25  Problem 92を含むブックマーク  Problem 92のブックマークコメント

どんな正の整数でも「各桁の数字を二乗して足す」という操作を繰り返すと1,もしくは89から始まるループに落ち着くらしい.知らなかった.それで,一千万以下の正の整数のうち89に到達するのはいくつあるのか?という問題.

37秒くらいかかった.一千万は多い….フォーラム見るとCでも7秒とか8秒とかかかってるし.

続きを読む

2009-12-08

[] 非圧縮性流体におけるベルヌーイの式 19:42  非圧縮性流体におけるベルヌーイの式を含むブックマーク  非圧縮性流体におけるベルヌーイの式のブックマークコメント

自分で理解できるテキストが無かったので作る.

ベースは

です.

続きを読む

[] AutoHotkeyチュートリアルを読んだ 12:12  AutoHotkeyのチュートリアルを読んだを含むブックマーク  AutoHotkeyのチュートリアルを読んだのブックマークコメント

以下訳とメモの混ざったもの.

続きを読む

S2nNOw4444S2nNOw4444 2011/06/07 06:12 AutoHotKeyに興味を持ってサイトをウロウロしています。
初心者にも分かり易い内容で助かりました。

2009-12-06

2009-12-03

[][] R苦手の会#8 00:06  R苦手の会#8を含むブックマーク  R苦手の会#8のブックマークコメント

今回はid:wakutekaがRグラフィックス(see:参考資料)を購入したので,わくてかさんのお話を聞きながらRグラフィックスの中身をざっと見てみようぜっていう感じです.

参考資料

作図システムの階層構造

grDevices
  • 作図システムの基礎.これがないと始まらない.
  • グラフィックデバイスを定義するパッケージ
  • png()とかそういうやつ.?pngとかやるとgrDevicesの一味だって分かる.一覧はls("packages:grDevices")
Graphics Systems
  • graphicsパッケージとgridパッケージが主要なヤツ?
  • グラフィックデバイスの上にいろいろ描く仕組み
  • 低水準作画関数の集まり
  • latticeとかのグラフィック関連のパッケージはこれをベースに作られている
Graphics Packages
  • latticeとか.

本の流れ

作図法の種類
  • 2つの作図法がある(graphics, grid)
  • traditionalな作図: barplotとか
traditionalな作図の説明
  • traditionalな作図システムは総称的
    • plot()とかはクラスを判別して実際に使用する関数を決定している
traditionalな作図における引数
  • 細かいことはそれぞれの関数のhelp見ようぜ
  • colみたいに色指定用の引数もあるけど,軸や軸ラベルの色みたいなものは普通変えられない
    • 総称的だから細かいことできない?
3次元データの可視化に便利な関数
対話的にアレできる関数

==== traditionalな作図の話はこのへんまで ====

↓こっからgrid的なヤツ

lattice
  • library(lattice)
  • xyplot(lat~long, data=quakes, pch=".")
    • 点だけのが出る
  • tplot <- xyplot(lat~long, data=quakes, pch=".")
> p <- xyplot(lat~long, data=quakes, pch=".")
> class(p)
[1] "trellis"
あなたがlatticeを使うべき三つの理由
  • 見た目カッコイイ
  • 複数の水準を持つデータを一度にグラフ化できる
    • グループ変数を基準にデータ分けてヒストグラム書くとかそんなの
    • y ~ x | g(訳:gで分類してy~xのプロット描いて!)
    • ggplot2だとfacet_wrap(~g)とかでlayer設定
  • gridったらさいきょーね

===== 今日はここまで =====

わくてかさんどうも乙でした.

本の雰囲気としてはlatticeすげーよlatticeみんな使おうぜって感じかな.

gridはggplot2も使ってるらしいし,Rグラフィックスちょっと欲しくなった.

[][] Meadow+YaTeXでLatexmk使うための設定 19:47  Meadow+YaTeXでLatexmk使うための設定を含むブックマーク  Meadow+YaTeXでLatexmk使うための設定のブックマークコメント

LaTeXで数式や文献の参照番号を処理するにはplatexやjbibtexを何度か実行しないといけなくて面倒くさい.

「何回platexやjbibtex動かしたらいいの」っていうのを適当に判断して適当に実行してくれるperlスクリプトとしてLatexmkというものがあるらしい.すばらしい.

早速インストールしたのでメモ.

いるもの

やること

latexmk-410.zipを落としてきたら解凍し,中身をパスの通った場所に置く.

次に,.latexmkrcという設定ファイルを$HOMEに作成する.もともと欧文用なのでこの設定ファイルでlatexbibtexplatexやjbibtexに置き換える必要がある.私の設定は以下の通り.

$latex = 'platex';
$pdflatex = "c:/Meadow/dvipspdf.bat %S";
$bibtex = 'jbibtex';
$makeindex = 'mendex';
$dvipdf = 'dvipdfmx';
$dvips = 'dvipsk';
$dvi_previewer = 'dviout';
$pdf_previewer = 'SumatraPDF.exe';

私はPDFビューワとしてSumatraPDFを使用しているので$pdf_previewerにSumatraPDF.exe*1を指定している.

$pdflatexに設定しているバッチファイルの中身はこんな感じ*2

rem for YaTeX
set src=%~n1
platex %src%.tex
dvipsk -Pdl -D 600  -f -z -t a4 %src% | bkmk2uni > %src%.ps
call ps2pdf -r600 -dNOPAUSE %src%.ps  %src%.pdf 

そして.emacsはこんな感じ.

;; latexmk
(setq tex-command "latexmk -pv -pdf")
(setq dvi2-command "SumatraPDF.exe")

これでMeadowを起動してYaTeX-modeにし,C-c tjと入力すればplatexとjbibtexを適当に実行してpdfまで作成し,プレビューしてくれる.

Latexmk実行時に与える引数で作成対象(dvipsか,それともpdfなのか),プレビューの有無などを指定できる.詳しくはLatexmkにあるマニュアルを参照のこと*3

参考

*1プログラムファイルがあるディレクトリにはPATHを通してある

*2presentation using TeX with powerdotにあるものに少し手を加えています.Meadowディレクトリに突っ込むとかマジセンスないと思うので各自適当にもっとマシな場所に置いて下さい.

*3:長いのであまり読んでない…

2009-12-01

[][] Re:Re:forとapplyの速度比較 13:32  Re:Re:forとapplyの速度比較を含むブックマーク  Re:Re:forとapplyの速度比較のブックマークコメント

syou6162: かつどんさんはdata.frame変形しないで書いてください

黙って見ていたらハードルを上げられたので.

参考:

データ読み込み

## read.data
d <- read.delim("clipboard")
names(d)[1] <- "num"
d[19,1] <- 100000

matplot使う

とりあえずmatplot使えば簡単にできる.名前の通りmatrix用のplotだし.

## matplot
matplot(d[1], d[-1],
    type="l",
    xlab = "num",
    ylab = "time",
    lty = 1,
    log="x")
legend("topleft",
    legend = names(d)[-1],
    lty = 1,
    col = 1:(length(names(d))-1),
    box.lty = 0
    )
box()

f:id:Rion778:20091201132104p:image

ggplot2使う

data.frame変形しないとか無理です><

id:syou6162のはこんな感じですね.

## by syou6162
d2 <- data.frame(num = rep(d[,1], ncol(d)-1),
                 time = as.numeric(as.matrix(d[,-1])),
                 label = Reduce(c, sapply(names(d[,-1]),
                   function(x){
                     rep(x, nrow(d))}
                   ), c()))
library(ggplot2)
ggplot(d2, aes(x = num, y = time, group = label)) +
  geom_line(aes(colour = label)) +
  scale_x_log10()

ヤバイどうやって変形してるのかよくわかr(ry

で,探してみたらreshapeとかいう関数見つけた.これ使うと割と簡単に変形できるっぽい.

## by Rion778
d3 <- d
names(d3) <- c("num", paste("l", names(d[-1])))
d3 <- reshape(d3, direction="long", varying = 2:7, sep=" ")
names(d3) <- c("num", "label", "time", "id")
ggplot(d3, aes(x = num, y = time, group = label)) +
  geom_line(aes(colour = label)) +
  scale_x_log10()

f:id:Rion778:20091201132105p:image

names()が規則的に付いてればそれを流用できるのでいいかも.

「いかにもExcel用」のデータシートをR用に加工するのもこれを使えば楽そう.

phosphor_mphosphor_m 2009/12/01 21:58 reshapeいいですね。機能の違うreshapeパッケージもあってややこしいですが。。。
そこそこ知ったつもりでいても,まだまだ知らない関数がいっぱいありそうです。

syou6162syou6162 2009/12/02 01:23 reshape作った人とggplot2作った人は同じ人なので、こういうデータをggplotに適用するのを意識して作られてますよねー

Rion778Rion778 2009/12/02 11:25 reshapeパッケージはggplot2の人が作ったもので,baseのreshapeはまた違う...?
http://had.co.nz/reshape/
何かreshapeとdeshapeをcastとmeltにリネームしたとか書いてありますね.
やっぱggplot2用に整形する目的だったらbaseのreshapeよりreshapeのcast(ややこしい)のが使いやすかったりするんですかね.