前の月 / 次の月 / 最新

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

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-01-03

クモラン[diary][photo][plant]


ここ数年、毎年行っているところでクモランを見つけた。今までは何も考えずにいたのだが、もしかしたらあるかも、と思って見ていたら見つけることができた。見ようとしなければ、見つけられないものだ([2006-12-27])。
クモラン

植物形態学[diary][plant]


福岡教育大学の福原さんのページ植物形態学の講義資料をはじめとして充実した内容のページがたくさんある。

2007-01-04

三角点の探訪[diary]


上西勝也さんの三角点の探訪というページには、三角点に関する情報がぎっしりと詰まっている。ここまでまとめるのは大変な労力でしょうね。趣味の域を超えています。

2007-01-05

Bibtexの著者の表記方法[tex]


TeXで文献を扱うのにBibtexというのがある。このBibtexでの著者の表記方法がよく分からなかったので、調べてみると、次のページが見つかった。これは分かりやすいので、著者名の書き方を長めに引用。
文系人間のためのやさしいLaTeX入門参考文献

著者名(author)は「ファーストネーム(名) ラストネーム(姓)」(それぞれ半角スペースで区切る)あるいは「ラストネーム(姓), ファーストネーム(名)」(ラストネームの後にカンマ、以降半角スペースで区切る)と表記します。いずれの表記法でも、使用するスタイルに従って同じく表記されます。例えば、plain、スタイルでは「Locke, John」も「John Locke」も同じ「John Locke」になります。ミドルネームがある場合には、ファーストネームに続けて書きます:「Hegel, Georg Wilhelm Friedrich」。ラストネームが複数の語からなる場合は、ラストネームを最初に纏めて書き、カンマ、そしてファーストネームを書きます:「van Beethoven, Ludwig」。著者が複数人いる場合は、全て「and」で結びます:「author="Adam Smith and John Locke and David Hume"」。「Jr」(ジュニア)が付く場合は「author="Jones, Jr., Roy"」と表記し、「Jr」の前にカンマが付かない場合(例:「Roy Jones, Jr.」でなく「Roy Jones Jr.」)は「{Jones Jr.}, Roy」とします。

GoogleMapsで緯度経度と縮小率を指定[google][map]


GoogleMapsで試行錯誤した結果、緯度経度と縮小率を指定して地図を表示可能なことがわかった。
"http://maps.google.co.jp/maps?" に続けて、"ll=35.000000,135.000000&z=10"とすれば北緯35°東経135°の地点が表示される。"ll="で緯度経度を指定して、"z="で縮小率を指定する。拡大していけば、日本のへそ公園が表示されるはず。
例:http://maps.google.co.jp/maps?ll=35.000000,135.000000&z=10
その他の引数も指定できるが、よく分からないものが多い。

その他の引数 # 説明
ll=35.000000,135.000000 # 緯度経度
z=10 # ズーム(1-19:1が世界全体19が拡大)
q= # 検索文字列
ie=UTF8 # 文字コード?
f=q # ?
hl=ja # ?
spn= # ?
iwloc=addr # ?

Referrer (Inside): [2009-01-12-3]

2007-01-06

基礎的な作図[r][stat]


九州大学の粕谷さんが書かれている「馬車馬のように」にecological fallacyという項目を書かれている。生態学で間違いやすいことについて書かれており、その対策として基本的な作図をすることを説かれている。Rではいろいろな作図が簡単にできるので、間違いを減らす対策として使える。

2007-01-07

雑誌の省略形[論文]


引用文献の中で省略されている雑誌名がよくある。分からないときは、CAplus Key/Core Journalsや海外医学雑誌投稿情報の[省略法]などで調べるのが良さそう。

調査結果を早くまとめる[stat][r]


生態学会の会長からのメッセージ(その20)で「できるだけ素早くデータをまとめるのがよい」というのが書かれている。確かにそうだと思う。たまってしまった標本を同定したり、遠い昔のデータを解析する気にはなかなかならない。
調査前や調査をしながら、作図結果が事前に想定できてれいば、調査を終えたらすぐにパソコンへ入力して、できるだけ早く解析するのが良い。細かな解析までは無理でも、大雑把な傾向を掴むぐらいの解析であれば、Rを使えばすぐにできる。
極論すれば、調査資料自体がなくても調査項目が決まれば、解析のプログラムだけを先に作っておくことは可能である。そうすれば、調査後すぐに解析結果を見渡せるだろう。一度はそんなことをしてみたいものだ。
Referrer (Inside): [2007-08-21-1]

2007-01-08

論文の構成[論文]


最近、英語の論文をきっちり読んでなかったが、久々にいくつか収集して、読んでいて気づいた。
論文は、[ Introduction / Methods / Results / Discussion ]で構成される。通常、結果の項目には文献を引用することはない。でも、10年位前の論文を見ていると、国際誌であっても Results で文献の引用や推論をして、Discussion との区別があいまいなものがあり、こういう論文を読むのは非常に疲れるということがわかった。項目の区分が明確であると読む側の期待通りに(内容ではなくて、論の進め方が)展開するので読みやすい。

2007-01-09

「ここが変だよ日本人の英語」「研究成果を世界に広めよう」[論文]


岡山大学の金谷健一さんが書かれた連載講座に以下の文章がある。
  • 金谷健一のここが変だよ日本人の英語
  • 続・金谷健一のここが変だよ日本人の英語
  • 研究成果を世界に広めよう
    一つ目の連載は、論文を書く際の注意点が具体的に書かれている。二つ目の連載は、日常会話から国際会議での発音などが書かれている。三つ目の連載は、論文を書く際や研究をする心構えが具体的に書かれている。どれも分かりやすくて、ためになる文章だ。
  • 2007-01-10

    GLMとGLMM[stat][r]


    データの解析をしていてGLMM(一般化線形混合モデル)があるのを思い出した。久保さん(北海道大学)の デ−タ解析で出会う統計的問題--「個体差」のモデリングなどで解析[方法]を学んだ。そして、今回の自分のデータに、GLMMはあわないことがわかった。個体差・ブロック差を考慮した解析をするときにGLMMは使える。より詳しくはランダム効果とネストされた実験計画を読むと、どんな場合にGLMMを使えばいいかが分かる。沓掛さん(脳科学総合研究センター)の動物行動学者のための一般化線形混合モデル入門も分かりやすい

    2007-01-11

    GoogleScholarの機能いろいろ[google][論文]


    GoogleScholarがどんどんと機能を強化している。設定をすれば、BibTeXやEndNoteなどのへの文献取り込みリンクを表示させることができる。検索引っかかる文献は増え続けている。また、文献自体へのリンクはなくても、どこから引用されているかが分かったりもする。検索結果を著者別で見ることも可能だ。これからもますます充実するのだろう。

    2007-01-13

    インストール時の環境引継ぎ[r][program]


    Rはバージョンアップが頻繁にある。頻繁にゴミ取りや新規機能が追加されているということで、歓迎すべきことだ。しかし、プログラム本体のインストール作業だけでなく、パッケージの導入や周辺環境の整備をしなければならないのがめんどくさい。それならば、古いままでも良さそうだが、パッケージが新しいバージョンで作られているものがあり、どうしてもバージョンアップをしないといけないことがある。そこで、ちょっとでも作業を自動化するために、Rのパッケージを引き継ぐのをちょっとだけ自動化。

    # 古い環境でのパッケージ一覧(古いバージョンで実行)
    write.table(rownames(installed.packages()), "d:/installed.packages.txt", # ファイル名は適宜変更
    sep="\t", col.names=F, row.names=F) # 導入済の一覧

    # 新しい環境でのインストール(新しいバージョンで実行)
    packs <- as.character(read.table("d:/installed.packages.txt")[[1]]) # 一覧の読み込み(ファイル名は適宜変更)
    install.packages(packs) # インストール

    ' dos窓のコマンドで以下を実行(バッチファイルにしておいてもOK)
    ' インストール先によっては、ディレクトリの指定を変更
    set oldv=2.3.1
    set newv=2.4.1
    set rdir=C:\Progra~1\R\R-
    copy %rdir%%oldv%\etc\Rconsole %rdir%%newv%\etc\Rconsole /y
    copy %rdir%%oldv%\etc\Rdevga %rdir%%newv%\etc\Rdevga /y
    copy %rdir%%oldv%\etc\.Rprofile %rdir%%newv%\etc\.Rprofile /y
    copy %rdir%%oldv%\etc\Rprofile.site %rdir%%newv%\etc\Rprofile.site /y
    set oldv=
    set newv=

    変数の部分文字列の抽出[program]


    バッチファイルでの文字列操作
    http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.htmlから該当部分を抜粋
    書式意味
    %V%変数Vの値全体%V% ⇒「ABCDEFGHIJKL」
    %V:~m%m文字目から、最後まで%V:~5% ⇒「FGHIJKL」
    %V:~m,n%m文字目から、n文字分%V:~5,2% ⇒「FG」
    %V:~m,-n%m文字目から、最後のn文字分を除いたもの%V:~5,-2% ⇒「FGHIJ」
    %V:~-m%後ろからm文字目から、最後まで%V:~-5% ⇒「HIJKL」
    %V:~-m,n%後ろからm文字目から、n文字分%V:~-5,2% ⇒「HI」
    %V:~-m,-n%後ろからm文字目から、最後のn文字分を除いたもの%V:~-5,-2% ⇒「HIJ」

    2007-01-14

    対応のある2変数のxy散布図とヒストグラムを描画[r][stat][hp]


    RjpWikiのグラフィックス参考実例集を参考にして対応のある2変数のxy散布図とその横と上にヒストグラムを描画する関数を作った(作図例1)。さらに、そのうちの特定のものの散布図とヒストグラムを塗りつぶす関数を作った(作図例2)。

    layout.plot.hist <- function(x,y, ratio1=c(3,1), ratio2=c(1,3)){
      # (左下,左上,右下,右上)の順に(1,2,3,0) 0は描画しない 分割を縦横それぞれ設定
        layout(matrix(c(2,0,1,3),2,2,byrow=TRUE), ratio1, ratio2, TRUE)
      # ヒストグラム情報を記録
        x.counts <- hist(x, right=FALSE, plot=FALSE)$counts
        y.counts <- hist(y, right=FALSE, plot=FALSE)$counts
      # 左下画面
        par(mar=c(3,3,1,1)) # 余白指定
        plot(x, y, xlim=range(x), ylim=range(y)) # 散布図作成
      # 左上画面
        par(mar=c(0,3,1,1)) # 余白指定
        barplot(x.counts, ylim=c(0,max(x.counts)), space=0, col=0) # 上ヒストグラム
      # 右下画面
        par(mar=c(3,0,1,1)) # 余白指定
        barplot(y.counts, xlim=c(0,max(y.counts)), space=0, horiz=TRUE, col=0) # 右ヒストグラム
    }
    x <- runif(100) # 一様分布の乱数
    y <- rnorm(100) # 正規分布の乱数
    layout.plot.hist(x,y) # 作図
    layout.plot.hist(x,y,c(1,1),c(1,1)) # 作図

    layout.plot.hist2 <- function(x,y, x2,y2, ratio1=c(3,1), ratio2=c(1,3)){
      # (左下,左上,右下,右上)の順に(1,2,3,0) 0は描画しない 分割を縦横それぞれ設定
        layout(matrix(c(2,0,1,3),2,2,byrow=TRUE), ratio1, ratio2, TRUE)
      # ヒストグラム情報を記録
        x.counts <- hist(x, right=FALSE, plot=FALSE)$counts
        y.counts <- hist(y, right=FALSE, plot=FALSE)$counts
        x.breaks <- hist(x, right=FALSE, plot=FALSE)$breaks
        y.breaks <- hist(y, right=FALSE, plot=FALSE)$breaks
        x2.counts <- hist(x2, right=FALSE, breaks=x.breaks, plot=FALSE)$counts
        y2.counts <- hist(y2, right=FALSE, breaks=y.breaks, plot=FALSE)$counts
      # 左下画面
        par(mar=c(3,3,1,1)) # 余白指定
        plot(x, y, xlim=range(x), ylim=range(y)) # 散布図作成
        points(x2, y2, pch=16) # 塗りつぶし
      # 左上画面
        par(mar=c(0,3,1,1)) # 余白指定
        barplot(x.counts, ylim=c(0,max(x.counts)), space=0, col=0) # 上ヒストグラム
        barplot(x2.counts, ylim=c(0,max(x.counts)), space=0, col=1, add=T)
      # 右下画面
        par(mar=c(3,0,1,1)) # 余白指定
        barplot(y.counts, xlim=c(0,max(y.counts)), space=0, horiz=TRUE, col=0) # 右ヒストグラム
        barplot(y2.counts, xlim=c(0,max(y.counts)), space=0, horiz=TRUE, col=1, add=T)
    }
    x <- runif(100) # 一様分布の乱数
    y <- rnorm(100) # 正規分布の乱数
    x2 <- x[1:30] # 一様分布の乱数
    y2 <- y[1:30] # 正規分布の乱数
    layout.plot.hist2(x,y,x2,y2) # 作図
    layout.plot.hist2(x,y,x2,y2,c(1,1),c(1,1)) # 作図

    ミラーサイト[hp][diary]


    今までのこのページのほかにミラーサイトを作りました。当分は両方更新するつもりですが、将来的には移行するかもしれません。
    http://kobe.cool.ne.jp/matsut/
    http://matsut.shichihuku.com/
    Referrer (Inside): [2007-01-24-1]

    2007-01-15

    xy両軸の尺度が等しい散布図[r]


    グラフィックス参考実例集で見つけた便利な関数。今までは、xy軸が同じスケールの散布図を描くのに、いちいちxとyの範囲を計算して、どちらかの縮尺を変化させていた。eqscplot()を使えばそんな面倒くさいことをしなくて良い。

    library(MASS)
    x <- rnorm(100) # 正規分布の乱数
    y <- runif(100) # 一様分布の乱数
    par(mfrow=c(2,2)) # 2行2列に設定
    plot(x,y,main="plot(x,y)") # 通常の散布図
    eqscplot(x,y,main="eqscplot(x,y)") # xy両軸の尺度が等しい散布図
    eqscplot(x,y,2,main="eqscplot(x,y,2)") # x軸を2倍拡大したy軸を持つ散布図
    eqscplot(x,y,10,main="eqscplot(x,y,10)") # x軸を10倍拡大したy軸を持つ散布図

    入力間違いを見つける[stat][論文]


    実際の調査資料で作業をしつつ、気づいた入力資料の確認方法。
  • 作図して確認するときは、1軸だけでの作図よりも2軸を使った散布図の方が間違いを見つけやすい
  • 2軸上で凡例を変えたり、分類群ごとに作図すれば、より間違いを見つけやすい
    1点目では、樹木の毎木調査で胸高直径と樹高を計測したとする。胸高直径と樹高とで個々にヒストグラムを作製した場合は、胸高直径が1000cmとか樹高が100cm(胸高直径を計測しているのに樹高が1.2mあるいは1.3m未満ということはありえない)とかいうような入力間違いは発見可能だ。しかし、胸高直径が5cmしかないのに樹高が15mもあるとか、胸高直径が30cmあるのに樹高が2mとかという間違いの可能性の高いものを見つけることはできない。それぞれ片方だけの値は通常の値の範囲に入るからだ。こういう極端な樹形の樹木が全く無いかと言えばそうではないが、間違いの可能性の高いデータを見つけることができるので、確認をしておいた方がいいだろう。
    2点目では、樹種ごとに作図すれば低木であるはずの樹種の樹高が15mという入力間違いや、地点ごとに作図すれば二次林でそれほど太い樹木が無い地点で胸高直径が90cmという入力間違いを発見できる可能性がある。
    参考項目:[2006-10-27]の入力間違いとそこからリンクしているデータの読み合わせ(九州大学の粕谷さんの「馬車馬のように」)
  • 2007-01-16

    解析完了[diary]


    [2006-12-24]で書いた「面白いもの」の第一段階の解析のプログラム書きが完了した。第一段階は資料としてまとめる予定。ただ、少しおかしなデータがあるので、入力間違いがないか確認が必要だ。プログラムはできているので、入力間違いがあったとしても、すぐに解析は完了する。解析が終われば、早速文章を書こう。

    統計学とRの参考書[book]


    農業環境技術研究所の三中さんが書かれた参考書の一覧がって、統計学の一覧は超入門書から中級編まで取り揃えられている。
  • 統計学へのお誘い本リスト
  • 〈R〉教科書・参考書
  • Referrer (Inside): [2007-01-23-3]

    2007-01-17

    国会図書館[diary][論文]


    友人から教えてもらって、国立国会図書館の利用者登録をした。実はだいぶ前に一度登録していたが、全く使わなかったために登録が失効していた。利用登録するとウェブページから文献複写の依頼ができるようだ。
    参考:登録利用者制度の案内NDL-OPACの利用の手引き

    2007-01-18

    NAを除去[r]


    解析作業をしていて時々つかうのが、NAを除去する作業。新しく関数を作るほどではないけど、表記を簡略化にするために定義。群馬大学の青木さんの「Rによるデータ解析」の4.1の基本統計量(37ページ、随時更新されているので項目やページは動いている可能性あり)にも、NAを除去して計算させる関数が紹介されている。
    頻繁に使うものをちょこちょこと定義しておけば、Rがだんだんと使いやすくなる。定義後にしばらく使っていないと、車輪の再発明をすることがしばしばあるが、これくらいの車輪ならいくつ再発明してもたいした労力ではない。

    x <- c(1,NA,2)
    ok <- function(x) x[!is.na(x)] # 関数の定義
    ok(x) # 関数実行
    x[!is.na(x)] # 上記と同じ内容
    mean2 <- function(x) mean(x, na.rm=T) # 「Rによるデータ解析」で紹介されている関数のうちの一つ

    2007-01-20

    lapply と sapply[r][diary]


    Rのapplyの仲間の関数群がある。うまく使えば便利なのだが、慣れるまでは使い方がなかなか難しい。この仲間で apply と tapply は前からよく使っていた。ただ、lapply sapply mapply では lapply を少し使う程度で、実際のところ、活用しているというほどではなかった。最近になってようやく lapply と sapply をどのように使えば便利なのかが分かってきた。 mapply はこれからだ。
    参考:apply 関数ファミリ(RプログラミングTips大全)

    2007-01-21

    生物多様性と生物地理学[diary][論文]


    九州大学の矢原さんによるY日記にこの前、新しい生物地理学の胎動という記事が書かれていた。その中に書かれている Ecology の特集号は公開されており、無料で閲覧可能なので、目を通しておきたい。また、「ハベル」の「生物多様性と生物地理学の統一理論」と書かれているのは、書籍"The unified neutral theory of biodiversity and biogeography"のことだろう。
    参考
  • Ecologyの特集号
  • :ハベルの「生物多様性と生物地理学の統一理論」:The unified neutral theory of biodiversity and biogeography
  • Referrer (Inside): [2009-04-06-1]

    2007-01-22

    論文を書くときの基本書式(メモ付)[論文][tex]


    論文書きのメモと毎回使う項目を書き込んだ基本書式を作った。特に、メモは自分向けに書いたものなので、他人が見てもあまり分からないかもしれない。でも、どこかで何らかの役に立つかもしれないので、とりあえず公開しておこう。将来、自分が検索して引っかかることがあるかな?
    論文を書くときの基本書式(メモ付):format.body.tex

    調査のデザイン方法[論文][diary][hp]


    「野外実験生態学入門」(蒼樹書房) の内容を要約した「調査のデザイン方法」というのをだいぶ前に書いた。論文書きのメモ(PDFファイル)でその存在に触れているが、公開していなかったのに気づいた。そこでこのたび公開した。

    2007-01-23

    本文執筆完了[論文][diary][備忘録]


    [2007-01-16]から書き始めた資料の第1稿ができた。思いを書きなぐっただけなので、不備が沢山あるだろう。1週間寝かせてから、修正作業に入ろう。修正までの期間は、解析・作図・作表の作業だ。

    行列の縦横の合計[r]


    縦横の合計を追加する関数。

    (x <- matrix(3:10, nrow=2))
    addmargins(x)

    書式をそろえる[r]


    数値の表示桁数や書式をそろえる関数。

    x <- rnorm(5)
    options(digits=3) # 表示桁数を3桁に変える
    x
    options(digits=10) # 表示桁数を10桁に変える
    x
    sprintf("%05.2f", x) # 全部で5桁、小数点以下は2桁、整数部分は0で埋める

    Referrer (Inside): [2007-01-28-2]

    2007-01-24

    関数の使いまわし[diary]


    [2007-01-14]に書いた対応のある2変数のxy散布図とヒストグラムを描画する関数を使いまわして、いくつか似たような関数を作った。汎用性のあるところと、個別で細かな使い分けをしたいところとが混在しているので、似たような関数を作る必要があった。全てを統一的な一つの関数で作ろうとすると、引数が多くなってしまう。違う関数が沢山あるのがいいのか、引数を増やすのがいいのか迷うところ。

    2007-01-25

    2007-01-28

    本文執筆完了[論文][diary]


    [2007-01-23]にできあがった第1稿の修正作業を少し繰り上げた。修正までの期間は、解析・作図・作表をする予定であったが、急務が入ってほとんどできなかった。しかし、直接関係した作業をしていなかったおかげで、予定の1週間を少し繰り上げても、前回書いた原稿を適度に忘れていて、ちょうどいいぐらいの期間だった。

    viの使い方[linux]


    必要に迫られて、viの使用方法を勉強した。すこしだけ使ったが、やはり使い始めはなかなかうまく操作できない。慣れてくると、だんだん操作が早くなった。
    http://www.miloweb.net/vi.html

    2007-01-31

    群馬大学の中澤港さんのページ[diary][r]


    最近気づいたのだが、群馬大学の中澤港さんのページは充実している。統計学関係の資料(医学情報処理演習など)もそうなのだが、生態学講義というのもある。内容的にもウェブページの階層も奥が深そう。

    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