George Washington (1789-1797) John Adams (1797-1801) Thomas Jefferson (1801-1809) James Madison (1809-1817) James Monroe (1817-1825) John Quincy Adams (1825-1829) Andrew Jackson (1829-1837) Martin Van Buren (1837-1841) William Henry Harrison (1841) John Tyler (1841-1845) James K. Polk (1845-1849) Zachary Taylor (1849-1850) Millard Fillmore (1850-1853) Franklin Pierce (1853-1857) James Buchanan (1857-1861) Abraham Lincoln (1861-1865) Andrew Johnson (1865-1869) Ulysses S. Grant (1869-1877) Rutherford B. Hayes (1877-1881) James A. Garfield (1881) Chester Arthur (1881-1885) Grover Cleveland (1885-1889) Benjamin Harrison (1889-1893) Grover Cleveland (1893-1897) William McKinley (1897-1901) Theodore Roosevelt (1901-1909) William Howard Taft (1909-1913) Woodrow Wilson (1913-1921) Warren G. Harding (1921-1923) Calvin Coolidge (1923-1929) Herbert Hoover (1929-1933) Franklin D. Roosevelt (1933-1945) Harry S Truman (1945-1953) Dwight D. Eisenhower (1953-1961) John F. Kennedy (1961-1963) Lyndon B. Johnson (1963-1969) Richard Nixon (1969-1974) Gerald Ford (1974-1977) Jimmy Carter (1977-1981) Ronald Reagan (1981-1989) George Bush (1989-1993) Bill Clinton (1993-2001) George W. Bush (2001-2009) Barack Obama (2009-present)
という、
ファーストネーム ミドルネームかイニシャル(あれば) ラストネーム 在位年
になっているリストを、
ラストネーム ファーストネーム ミドルネームかイニシャル(あれば) 在位年
に並べ替えるというものだった。Moodleの問題文では、1行毎に空白行が入っているが、それは無視しても構わない。
注目すべき構造と、それに対応する正規表現は、次のようになる
構造 | 行頭から英文字か空白かピリオドの連続 | 空白 | 英文字のみの連続 | 空白 | (で始まる在位年で、)が行末 |
検索文字列 | ^([A-Za-z ¥.]+) | 空白 | ([A-Za-z]+) | 空白 | ¥( |
置換文字列 | ¥2 | 空白 | ¥1 | 空白 | ( |
構造 | 行頭から任意の文字列の連続 | 空白 | 空白以外の連続 | 空白 | (で始まる在位年で、)が行末 |
検索文字列 | ^(.*) | 空白 | ([^ ]+) | 空白 | ¥( |
置換文字列 | ¥2 | 空白 | ¥1 | 空白 | ( |
構造 | 行頭から任意の文字列の連続 | 空白 | 空白以外の連続 | 空白 | (で始まる在位年で、)が行末 |
検索文字列 | ^(.*) | 空白 | ([^ ]+) | 空白 | ¥((.*)¥)$ |
置換文字列 | ¥2 | 空白 | ¥1 | 空白 | (¥3) |
ファイルsequence_Pdic.fastaには、Pedicularisという植物のDNA塩基配列データがFASTA形式で入っていた。GenBankからダウンロードしたままの形式なので、
>gi|310769146|gb|HM596759.1| Pedicularis procera tRNA-Leu (trnL) gene (GenBankID, データベース、Accession No.、種名、遺伝子の種類...)
が、それぞれのデータを示すラベル情報として入っている。これを、よりシンプルに、
>種名の省略形_Accession No. という形に整形したい。上の例だと、
この場合、区切り文字である|に注目する。
>P_procera_HM596759のような形に一括置換できる。どの要素がどの正規表現に対応しているか、じっくり見て、考えてみよう。
今日から2回ほど、表計算ソフトの代表ともいえるExcel(エクセル)の操作を習得する。表計算ソフトは、コンピュータに作らせた表の上に数値を記入して計算させるもの。手計算では、表の中の一つの数値を変更したら他の数値も全てもう一度計算し直さなければならない場合も、表計算ソフトを使うと、他の数値は自動的に再計算される。このアイデアは、ハーバード大学の学生であったDaniel Bricklinが1979年が思いつき、VISICALCというソフトウェアとして実現したものだ。その後、表計算ソフトは、DOS/V機(日本ではPC-98)におけるLOTUS-1-2-3やWindowsにおけるMicrosoft Excelとして発展してきた。表計算ソフトは、ハードウェアの普及を促進したということで、パーソナルコンピュータにおけるキラーソフト(キラーアプリ)と呼ばれている。
以下、基本操作の解説を書いておいたが、ほとんどの人は高校の授業で習得済みだと思う。「全く不安の無い人」がいなければ、基本操作の部分は割愛する。
5 8 1 2 3 4 5 6 7 8
これからの学生生活で、皆さんはきっといろんなデータを集計する機会に出会うはず。例えば、名簿、部費の管理、アンケート調査の結果、そしてもちろん、実験データ。こういうデータは必ずしも、いつも最初からエクセルに入力されている訳ではない。たとえば、メールで受信した解析データをエクセルで集計したい場合もあるはず。そんなときにもやっぱり、
データの区切りをタブに置換して、エクセルで集計!
では、下の囲みの中のようなデータを解析してみよう。これは、千葉大の西千葉キャンパスの草地に3つの区画をつくり、それぞれの区画での植物の出現個体数をまとめたものだ。
区画No.1 カラスノエンドウ 5 セイヨウタンポポ 2 オランダミミナグサ 10 オオバコ 1 スズメノテッポウ 8 キュウリグサ 5 区画No.2 キュウリグサ 1 スズメノテッポウ 3 オランダミミナグサ 1 区画No.3 カラスノエンドウ 10 オランダミミナグサ 12 ヘラオオバコ 5 ヤセウツボ 3 キュウリグサ 8 スズメノテッポウ 5
このデータでは、区画ごとに、種名と出現個体数が書かれている。これをエクセルで
区画No. | 種名 | 出現個体数 | 日付(<日付については後ほど手入力>) |
1 | オオバコ | 1 | 2010/05/20 |
. . . | . . . . . . . | . . . . . | . . . . . |
という形で集計したい。
手順を考えて、自分でやってみよう。
この操作さえ覚えれば、調査データをその場で携帯メールに打ち込み、集計する人に送信しちゃうなんていうことができるので、とても便利。
種名<スペース>数字という並びが見えてくる。どうやらスペースには、半角と全角のスペースが混在しているようだ
検索文字列: [ ]+(注:[]の間に半角と全角のスペース1文字ずつ入れる。これでスペースの1文字以上の繰り返しを意味する) 置換文字列:¥t(注:半角¥マークと半角t:タブのこと)
これでテキストファイルからエクセルへのデータの移動はできたが、まだ、
区画No. 種名 個体数 日付(<日付については後ほど手入力>)
という形にはなっていない。
集計作業 では、データ行の上には ''見出し行' 'を作り、それぞれの列の 見出し を書いておく
ことが必要だ。そこで、エクセルの上で、行の挿入、コピー・ペースト等を使って、下の様な形に整形する。(操作方法は前方スクリーンで示す。ほとんど全て、マウスの右クリックでメニューを表示させてできる。)。
ついでに、上の図のように、日付も入力しておこう。1つ入力したら、あとは、コピー・ペースト。
これで集計の準備はできた。
データの並び替え(ソートともいう)は、大量データを扱う上で、絶対に知っておかなければならない方法なので、必ず習得して欲しい。
ぱっと見で分からなくても、並べ替えたり、集計したりすると、何かが見えてくる
では、サンプルデータを見てみよう。ここで、
全部のデータを合わせたとき、どの種の個体数が最も多いか
を知りたいと思ったのだが、この表では、同じ種がばらばらに出てくるのでわかりにくい。そこで、「種名」で並べ替えてみる
これで、同じ種名のものが近くにまとまったので、全部のデータを合わせたとき、どの種の個体数が最も多いかかがわかる。
並び替えでは2つの並べ替えキーを設定することもできる。先の並び替えの2番目のキーに「個体数」を指定して並べ替えてみよう。
上の並び替えで、どうやらオランダミミナグサの個体数がもっとも多いとわかるのだが、実際に何個体現れたのかを知ろうと思うと、いちいち計算しなければならくて面倒。そういうときにエクセルの「集計」機能を使って、自動的に計算させる。
重要事項:集計する前にグループの基準になる項目で必ず並べ替えておくこと
グループの基準: 種名 集計の方法: 合計 集計するフィールド:個体数
万一失敗しても、集計データはすぐに消せる。
集計データを削除するには、上の集計ウィンドウで「削除」をクリック。 元データは削除されないので心配無用。 |
エクセルで集計はできたのだが、数字をみて傾向をつかむのはなかなか難しい。そこで、データをグラフにして表現する。グラフにすることによって、データの大小の程度や全体の傾向が一目で分かるようになる。
グラフを使うことで、データの持つ傾向が一目で分かる! |
データをグラフで表現する場合に、どのグラフを使えば良いかを考える。データの持つ傾向をみるためにいろいろなグラフを試すのはいいが、人にグラフを見せるときには、そのグラフで何を言いたいのかを十分に検討して、それに適したグラフを選ぼう。データで言いたいことに適さないグラフを使うと、言いたいことが伝わらないだけでなく、余計な誤解を与えることになりかねない。エクセルで使える代表的なグラフは次のようなもの:
それぞれ、
では、上の集計データから、種ごとの個体数の合計値をグラフで表してみよう。
上のようにしてグラフはできたのだが、それぞれの項目軸には、「オオバコ 集計」というように「集計」という文字が余分に入っている。ここで、グラフに表示されるのは種名のみにしたい(つまり「集計」を消したい)。
こういう時は、エクセルの関数を使って、項目名から「集計」を除いたデータを新に作成して、グラフ作成に利用してみよう。
セルの操作には関数を使おう! |
エクセルには様々な便利な'関数'がある。前回使った sum関数もその1つ。今回のように、ある文字列を消したり、別のものに置き換えたいときには、文字列の置換に使える関数: SUBSTITUTE() を利用する
substitute(文字列, 検索文字列, 置換文字列, 置換対象) 文字列 置き換える文字を含む文字列を指定します。 目的の文字列が入力されたセル参照を指定することもできます。 検索文字列 置き換える文字列を指定します。 置換文字列 検索文字列 と置き換える文字列を指定します。そこで、たとえば「オオバコ 集計」(A1のセル)の右横に新しい種名を入れたいのなら、
=substitute(A1, "集計", "")と入力。このとき、検索したり置換したりする文字列は、"で囲んでおく。
先ほどのグラフは1つの系列(データの並び)だけを指定したグラフだったので、すごく簡単な操作で自動的にグラフができた。今度はそれぞれの区画毎に現れる種数をグラフで表示してみよう。この場合、系列は3つになる。また、共通している項目が全てに必要になるため、もとの表を次のように整形する(出現しない種名についても0というデータを追加する)。
オランダミミナグサ | カラスノエンドウ | キュウリグサ | スズメノテッポウ | セイヨウタンポポ | オオバコ | ヘラオオバコ | ヤセウツボ | |
区画1 | 10 | 5 | 5 | 8 | 2 | 1 | 0 | 0 |
区画2 | 1 | 0 | 1 | 3 | 0 | 0 | 0 | 0 |
区画3 | 12 | 10 | 8 | 5 | 0 | 0 | 5 | 3 |
最初の授業で行ったアンケートで、パソコンを持っているのにウィルス対策ソフトを使っていない人が数名。
自分のパソコンがウィルスに感染すると、自分が困るのはもちろんのこと、データを交換した他のコンピュータ(USBメモリやメールなどで)にも大変な迷惑をかけることになる。
ウィルス対策ソフトは必ずインストールしておこう。フリーのソフトでは、Avastが高機能で、ウィルス対策データの更新も頻繁。ただし、1年に1度、ウェブ上で登録更新して(住所やメールアドレスを記入)、ソフトウェアに登録キーを入力する必要がある。
http://www.avast.com/ja-jp/free-antivirus-download