前の月 / 次の月 / 最新

松村俊和のページ:日記 / 2007-03

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12

2007-03-01

群ごとに生のデータ分布を描く[stat][r]


うまい!と言われる科学論文の書き方のp28,p30,p34に掲載されているグラフに似たものを描くための関数をRで作った.自分ではそれなりに満足のいくものを作ったつもりだった.あとは,boxplotとかで箱ひげ図を追加すればほぼ完成だ.
しかし,作ったすぐ後に,群馬大学の青木さんのR による統計処理に同じような関数(群別データ分布図)があるのをを知った.同じものと言うようよりも,もっとすばらしいものだ.事前に調べておけばよかった.
とはいえ,せっかく作ったので,公開.作ってみてよかったのは,mapply, lapply, sapply の使い方を勉強できた点.特に mapply は初めてちゃんと使った.
直接関係無いけど参考:グラフィックス事例集条件プロット(coplot)

# 関数の定義
shift.plot <- function(df, cl=50, xmax=100,...){ # data.frame y軸の階級 x軸の幅
    # 階級の区分
  mn <- min(df[,1])
  mx <- max(df[,1])
  by=(mx-mn)/(cl-1) # 範囲/階級数
  df <- cbind(df, cl=cut(df$n, seq(from=mn, to=mx+by, by=by), right=F))
  df <- df[order(df[,2], df[,1]),]
    # 近接した場合の移動量
  freq <- na.omit(as.data.frame.table(tapply(df[,1], list(df[,3], df[,2]), length))) # 頻度
  freq <- freq[order(freq[,2], freq[,1]),]
  shift1 <- unlist(mapply(":", 1, freq[,3]))
  df <- cbind(df, shift=shift1)
    # 凡例別の移動量
  shift2 <- xmax / (length(unique(freq[,2]))*2)
  shift2 <- shift2 * seq(from=1, to=length(unique(freq[,2]))*2, by=2)
  shift2 <- mapply(rep, shift2, tapply(df[,1], df[,2], length))
  shift2 <- unlist(shift2[1:length(shift2)])
  shift3 <- shift2 + xmax*0.01 # x軸の凡例の移動量 0.01を変更してズレを調整
    # 移動量の合計
  df$shift <- df$shift + shift2
  plot(df$shift, df$n, xlim=c(0,xmax), xaxt="n", ...)
  axis(side=1, at=unique(shift3), labels=as.character(unique(df[,2]))) # x軸を表示
}
# 使用方法
r <- 60
df <- data.frame(n=round(rnorm(r)*10,0), com=c(rep("a",r/2), rep("b",r/4), rep("c",r/4)))
shift.plot(df, cl=100, xmax=100)

2007-03-05

2007-03-06

客観的に[diary]


ずいぶんと長いこと寝かしていた論文を読み直しはじめた.細かな文章表現はすっかり忘れているので,客観的に読むことができる.良く書けているのは,簡潔なところ.ダメなところは,用語や表現の統一が取れていないところ.

灰色の濃度[r]


灰色の濃度をパイチャートで表示

i <- 10 # 区分数
plot(rep(1, i), col=grey((i-1):0/i))

2007-03-07

雪景色[photo][diary]


昨日は久々に雪が降ったので,今朝は雪景色だった.
雪景色

2007-03-08

\layout[tex]


\layoutという命令で頁の割付を見ることができる.
jsarticleの頁割付
jarticleの頁割付
articleの頁割付

\documentclass[12pt]{jsarticle}
\usepackage{layout}
\begin{document}
  \layout
\end{document}

翻訳の翻訳の・・・[diary][english]


Infoseekの英語翻訳にはじめにある「翻訳したい文章をここに入力してください。」を英語に翻訳する.翻訳結果の英語を日本語に翻訳して,またその結果を英語に・・・と繰り返す.だんだんとわけの分からなくなり,ついには詩のようなものになった.

私が決定中で意識(あなたがそれを必要とするかどうかに関係なく、ここの方へ内部で曲げられることができることがそれを持ってこられる回復に私なぜ、そして、それは入力されますもの)に手渡した私。

2007-03-09

行列の資料を散布図に[stat][r]


[2007-02-24]と似たような関数で,散布図を描くものを作った.色は灰色で濃淡をつけるように設定している.
作ってから気づいたが,そういえばmatplotという関数があった.データの上書き用として,matpoints matlines という関数もあるようだ.

> ## 行列の資料を散布図にする
mat.plot <- function(mat, trans=FALSE, horiz=FALSE, type="b", ...){ # 行列
if(trans==TRUE) mat <- t(mat) # 行列を入れ替える
lim <- range(mat)
m <- ncol(mat) # 列数
n <- nrow(mat) # 行数
plot(1, type="n", axes=F, ann=F) # 何も描かない
j <- round(n*3); k <- round((j-n)/2) # 色の設定
col <- grey((j:0/j)[k:(k+n)]) # 色の設定
for(i in 1:n){ # 各行で
par(new=T)
if(horiz==TRUE){
plot(x=1:m, y=mat[i,], xlim=c(1,m), ylim=lim, col=col[i], type=type, ...) # 散布図
} else {
plot(y=1:m, x=mat[i,], ylim=c(1,m), xlim=lim, col=col[i], type=type, ...) # 散布図
}
}
}
## 使用方法
matplot(matrix(1:20, nrow=4))
mat.plot(matrix(1:20, nrow=4), trans=F, horiz=F)
mat.plot(matrix(1:20, nrow=4), trans=F, horiz=T)

2007-03-10

シャコ[food][photo]


スーパーで売っていたので買ってしまった.生きてるうちに調理しないといけないようなので,かわいそうだが早速ゆがいた.始めのうちは上手く殻が取れない.お腹側・背中の順でやるとうまくいった.
参考:シャコのページシャコ(市場魚貝類図鑑)
シャコの尾は色が綺麗
シャコの尾
目の緑色も綺麗
目の緑色も綺麗
左側は失敗.右側がうまく剥けた
殻を取ったシャコ

2007-03-11

複数の文字列を数える[hidemaru][論文]


複数の文字列を数える秀丸エディタのマクロを作成した.
論文を書いていて,似たような単語やフレーズでどっちを使うか迷うことがよくある.そういったときに,どれがよく使われているか調べるため.xdoc2txtと秀丸エディタのgrepを組み合わせて使うと効率的.自分の頁を見てみると,毎年2月か3月ごろにこれと関連したことを書いていた.1年周期でおんなじことをやってて,進歩が無いのか,それとも1年ずつ進歩しているのか?
2004年2005年2006年

// 「|」で区切って文字列を入力する
// ファイルの先頭に結果が出力される
  // |で区切って入力
$str = input("検索語を「|」で区切って入力してください", "");
$str = $str + "\|"; // 最後の区切りを追加
#n = 1; // 検索語の番号
#i = strlen($str); // 文字列の長さ
$result = ""; // 結果
while (1 < #i) {
  #j = strstr($str, "\|"); // 区切りまでの長さ
  $word[#n] = leftstr($str, #j); // 検索文字列の行列
  replaceallfast $word[#n], $word[#n]; // 置換して文字列を数える
  #word[#n] = result; // 単語数の行列

  $str = rightstr($str, #i-#j-1);// 残りの文字列
  #i = strlen($str); // 文字列の長さ
  $result = $result + $word[#n] + ": " + str(#word[#n]) + "\n";
}
gofiletop; // ファイルの先頭に移動
insert $result + "\n"; // 結果の書き込み
endmacro;

2007-03-13

雪の降り始め[photo][diary]


先日,喫茶店でコーヒーを飲んでいたら,窓の外で白いものが見え始めた.始めは煙かと思ったが,あまりに範囲が広い.よく見ると雪だった.
ちょっとわかりにくいけど,写真の左側から右側に向かって白っぽいところが雪が降っているところです.写真の中央の光は,中の電灯がガラスに反射して映りこんでいるものです.
右から雪が降ってきている

2007-03-14

ハイフネーションの禁止[tex]


ハイフネーションを禁止するには,プリアンブルに以下の内容を書いておく.

\hyphenpenalty=10000\relax
\exhyphenpenalty=10000\relax
\sloppy

ネタ元:http://optphys.sci.hokudai.ac.jp/~sekika/TeX-Tips.html#%1B$B%O%$%U%M!%3C%7%g%s$r6X;_$9$k%1B

2007-03-15

Google トーク[google]


電話よりも音質はちょっと悪いときがあるけど,無料なので時々使っている.
ダウンロード:http://www.google.com/talk/intl/ja/

2007-03-16

アクセント記号[tex]


アクセント記号やウムラウトの表示方法など.
  • TeXで文字にアクセントをつけるコマンド
  • アクセント記号
  • HTML ウムラウト表示の仕方
  • 2007-03-20

    科学編集者のために[論文]


    科学編集者のためには,「編集者のために」とあるが,どちらかと言えば執筆者向けの内容で,内容は編集者から執筆者へ気をつけて欲しいことや論文のありかたなどが書かれている.

    2007-03-22

    文字のフォントを変える[r]


    グラフなどで出力するフォントを変更する

    plot(c(1,5),c(1,4), type="n") #
    text(2,1,"通常", font=1)
    text(2,2,"太字", font=2)
    text(2,3,"斜体", font=3)
    text(2,4,"太字・斜体", font=3)
    text(4,1,"0.5倍", cex=0.5)
    text(4,2,"1.0倍", cex=1.0)
    text(4,3,"1.5倍", cex=1.5)
    text(4,4,"2.0倍", cex=2.0)

    2007-03-24

    個体群生態学入門[book]


    近くの本屋に注文していた個体群生態学入門―生物の人口論が自宅に届いた.手にとってぱらぱらめくり,「入門書やな」とつぶやいてしまった.直後に自分自身で突っ込みを入れた.「そりゃそうや.題名に『入門』ってあるやん!」
    個体群生態を勉強しようと買った本だったが,内容的にはちょどよさそう.これから勉強します.

    2007-03-25

    原稿の修正[diary]


    原稿の修正作業をしている.修正するだけでなく,修正箇所を書いて,修正漏れが無いか確認をしなければならない.原稿を作るのも大変だが,修正作業も大変だ.はじめの原稿をもっとちゃんとしておけば,修正作業は楽になるはずだ.次回から(今書いている原稿も含めて)の課題だ.

    2007-03-27

    研究の軸[論文]

    竹中さんの日記の同じところにには,次のようなことが書かれている.これは研究の題材を探すときにすごく重要だろう.

    生態学の個々の研究は,「どんな問題に取り組むか」「どんな手法でアプローチするか」「どの生き物・生態系を対象とするか」という3本の軸が作る3次元空間のどこかに浮かんでいる.研究対象という軸があるところが,多様な生物の多様な生き方を対象とする研究分野の特徴か.空間のなかの一点に固執していると発展性が限られる.意識的に,どれかの軸に沿って動き回ってみると,新しい展開があるかもしれない.材料を変えてみるとか,違う手法でアプローチしてみるとか.あるいは,同じ材料・同じアプローチであっても,ちがう問題意識で見直してみるとか.

    Vascular Epiphytes[book][diary]


    国立環境研究所の竹中さんの日記に松山城の近く(中?)にヤドリギがたくさんあったということが書かれている.去年の12月ごろから着生植物や寄生植物をちょっと注目してみている.ヤドリギはあるところにはたくさんあるが,見ないところではほとんど見ない.研究対象としては面白そう.
    そういえば,Vascular Epiphytesという本を欲しいと思いながらまだ注文していない.買ったとしても,読む時間があるのだろうか?読む時間が無いうちは買ってもダメだ.手元にあるだけで呼んだ気分になって,ほったらかしにしてしまうだろう.

    PDF管理[tool]


    MOKUJIPDFに目印を付けて管理するソフトらしい.中途半端なような気がするが,使いようによっては便利かも.

    2007-03-28

    生物の学名を表現する[tex]


    ちょっと前,TeX Q&A生物の学名を表現するマクロという題名で質問をしたら,早速たくさんの人から有益な助言を頂いた.特にこの回答はほとんど作りたかった機能をそのまま持っている.これをもとに勉強して自分なりのマクロを作ろう.ほとんど同じものになるかも知れないけど.

    2007-03-29

    2009 : 01 02 03 04 05 06 07 08 09 10 11 12
    2008 : 01 02 03 04 05 06 07 08 09 10 11 12
    2007 : 01 02 03 04 05 06 07 08 09 10 11 12
    2006 : 01 02 03 04 05 06 07 08 09 10 11 12

    最終更新時間: 2009-12-01 22:42