Excelによるデータ集計とグラフ作成 †
第5回授業の獲得目標: †
- 分かりやすいメッセージを伝える意識を持つ
- 正規表現検索・置換とエクセルの操作に習熟する
- エクセルによるデータの並び替え方法を習得する
- エクセルによるデータの集計方法を習得する
- エクセルによるグラフ作成方法を習得する
前回復習+補足:Word以前の問題: レポートにはメッセージが不可欠 †
Wordを使えるようになったからといって、良いレポートが書けるわけではない
伝えたいメッセージ(主張)が無ければ、良いレポートなんて書けやしない
研究者を目指す人のための長期計画 †
1年生のうちはレポートで得られる評点が、皆さんのかなり大きな関心事だとは思う。でも、この後、皆さんは、実に様々な重要な場面で、相手に自分のメッセージを分かりやすく伝えることに直面する。例えば、
就職活動のエントリーシート
日本学術振興会の申請書
様々な助成金や奨学金の申請書
などだ。〜
今年の1年生にも、将来、研究者になることを志望している人が多いので、、研究者を目指す学生が、修士2年の春に直面する、「学振DC」申請を紹介しておこう。。
日本学術振興会特別研究員ホームページ:http://www.jsps.go.jp/j-pd/index.html
日本学術振興会特別研究員DC(略して「学振DC」)というのは、研究者の養成・確保を目的として、我が国トップクラスの優れた若手研究者に対して、自由な発想のもとに主体的に研究課題等を選びながら研究に専念する機会を与える制度。もし学振DCに選ばれると、
博士課程の3年間、月額200,000円の研究奨励金と、年間150万円以内の研究費が支給される
という、非常に有り難い制度。平成23年度の生物学分野の場合、申請者数367(DC1)に対して、84人(22.9%)が採用されていまる。しかも、博士1年からの採用(DC1という)への申請者は、それほど発表論文の本数(業績と言う)が多くないので、申請書のできが、審査に大きく影響する。
- 表:プロ研究者を目指す学生の10年計画例
事項\年 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 ... | 2022.. |
学年 | 学部1年 | 学部2年 | 学部3年 | 学部4年 | 修士1年 | 修士2年 | 博士1年... | ポスドク |
主な活動 | 授業 | 授業 | 授業 | 研究・院入試・卒論 | 研究 | 研究・修論 | 研究・論文... | 研究... |
目標 | 自分次第 | 自分次第 | 自分次第 | 院入試で上位(奨学金に影響) 論文発表を目指した卒研 | 投稿論文発表 (投稿規定・論文書式) | 学振DC申請(5月) | 論文作成、学振PD申請... | 研究職応募.. |
サポート | - | - | - | - | 奨学金・返還免除 | 学振DC1、奨学金、 研究助成金、奨学金返還免除... | 学振PD、 助成金... |
MS Wordの利用 | - | - | - | 研究・卒論 | 研究・論文・助成金申請 | 研究・学振申請書・修論 | 研究・論文・申請書・報告書... | 研究・論文・ 申請書... |
申請書のリンクを下にはっておいたので、ダウンロードして見てみよう。
特別研究員DC:申請用の様式(Word):http://www.jsps.go.jp/j-pd/data/shinsei/02_dc.doc
かなりの内容を分かりやすく、MS Wordを用いて書かなければならない。生物分野では無いが、実際にDC1に採用された人の申請書がネット上に公開されているので、見てみよう。
http://www.mibel.cs.tsukuba.ac.jp/~ceekz/dc1/dc1.pdf
(申請者本人のウェブページ:http://www.mibel.cs.tsukuba.ac.jp/~ceekz/dc1/)
こういう申請書を作成するときには、自分のアイデアを論理的に、分かりやすく説明できることが不可欠だ。そして、そういう能力(論理的説明能力や、文章作成能力)というのは、一朝一夕には身につかない。研究者を目指す皆さんは、今からちょうど5年後のM2の春には学振申請が待っていることを目標に定めて、今から、論理的説明能力や文章作成能力を磨いておくといいだろう。申請書の作成には、この授業で習う図の貼り付けや模式図の作成方法も必要だ。
また、学振特別研究員を狙うなら、論文(雑誌に発表された論文)はある方が有利だろう。moodleのページに実際の投稿論文で使われたWordファイル(新村さんの論文)を添付しておいたので、見てみよう。このファイルでは、投稿先の論文が指定するスタイルが使われている。
論理的文章や論理的説明に関する参考書 †
下の本は、レポートを書くということについて、具体的に分かりやすくまとめられている。
論理的説明のトレーニング: 第5回授業課題2:相互評価 †
そういう論理的説明のトレーニングのために設定したのが、第5回授業課題2: 分かりやすい文書作成・相互評価によるワークショップだ。Moodleにログインして、この課題を開いてみて欲しい。すると、下の図のような画面が表示され、1人につき、5人分の課題を評価するようになっている。
他の人の文書を批判的に読むことは、自分の論理的思考能力を高める良いトレーニングになる。一人につき5名分の課題を評価するように設定してあるので、それぞれの提出物をダウンロードして読み、
- だれが読んでも、同じ内容が伝わる内容になっているか?
- 読者が読みながら、頭の中で情報を整理して理解できるか(読み直さなくても理解できるか)
- 読んだ後、「分かりにくい」という印象を持たずにいられたか?
の3項目について、0-5点の点数を与えよう。何か気づいたことがあれば、コメントの投稿も大歓迎。
結果は来週の授業で解説し、高評価を得たものを紹介します。
- 参考: 先日千葉大で開催した学会大会で用いた、けやき会館への交通案内
正規表現・後方参照の復習: 前回課題3の解説: †
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行毎に空白行が入っているが、それは無視しても構わない。
注目すべき構造と、それに対応する正規表現は、次のようになる
- 解答例1:要素をそれぞれグループで指定
構造 | 行頭から英文字か空白かピリオドの連続 | 空白 | 英文字のみの連続 | 空白 | (で始まる在位年で、)が行末 |
検索文字列 | ^([A-Za-z ¥.]+) | 空白 | ([A-Za-z]+) | 空白 | ¥( |
置換文字列 | ¥2 | 空白 | ¥1 | 空白 | ( |
- 解答例2:空白以外・改行以外というグループを指定(注意: 半角の(は、正規表現で意味を持つ記号なので、「そのままの文字」として扱うときにはバックスラッシュ(円マーク)をつけて、(と指定する。)も同様。
構造 | 行頭から任意の文字列の連続 | 空白 | 空白以外の連続 | 空白 | (で始まる在位年で、)が行末 |
検索文字列 | ^(.*) | 空白 | ([^ ]+) | 空白 | ¥( |
置換文字列 | ¥2 | 空白 | ¥1 | 空白 | ( |
- 解答例3: 在位を3番目の後方参照要素として指定しても構わない
構造 | 行頭から任意の文字列の連続 | 空白 | 空白以外の連続 | 空白 | (で始まる在位年で、)が行末 |
検索文字列 | ^(.*) | 空白 | ([^ ]+) | 空白 | ¥((.*)¥)$ |
置換文字列 | ¥2 | 空白 | ¥1 | 空白 | (¥3) |
発展演習: DNAの塩基配列データの整形処理の解説 †
ファイルsequence_Pdic.fastaには、Pedicularisという植物のDNA塩基配列データがFASTA形式で入っていた。GenBankからダウンロードしたままの形式なので、
>gi|310769146|gb|HM596759.1| Pedicularis procera tRNA-Leu (trnL) gene
(GenBankID, データベース、Accession No.、種名、遺伝子の種類...)
が、それぞれのデータを示すラベル情報として入っている。これを、よりシンプルに、
>種名の省略形_Accession No.
という形に整形したい。上の例だと、
この場合、区切り文字である|に注目する。
- 解答例:「|以外」を指定する。|も正規表現で意味を持つ文字なので、[^¥|]と指定する。
- 構造: 「行頭に>があり|以外の文字列」「|」「|以外の文字列」「|」「|以外の文字列」「|」「英文字とピリオドと数字」「|」「空白英文字連続 空白 英文字連続」「以下、任意の文字列」
- 検索文字列: ^>[^\|]+\|[^\|]+\|[^\|]+\|([A-Za-z0-9]+)\.[0-9]\| ([A-Z])[a-z]+ ([a-z]+).*$
- 置換文字列: >\2_\3_\1
こうすれば、
>P_procera_HM596759
のような形に一括置換できる。どの要素がどの正規表現に対応しているか、じっくり見て、考えてみよう。
Excelによるデータ集計とグラフ作成 †
Excel(エクセル)の操作の基本:表計算 †
今日から2回ほど、表計算ソフトの代表ともいえるExcel(エクセル)の操作を習得する。表計算ソフトは、コンピュータに作らせた表の上に数値を記入して計算させるもの。手計算では、表の中の一つの数値を変更したら他の数値も全てもう一度計算し直さなければならない場合も、表計算ソフトを使うと、他の数値は自動的に再計算される。このアイデアは、ハーバード大学の学生であったDaniel Bricklinが1979年が思いつき、VISICALCというソフトウェアとして実現したものだ。その後、表計算ソフトは、DOS/V機(日本ではPC-98)におけるLOTUS-1-2-3やWindowsにおけるMicrosoft Excelとして発展してきた。表計算ソフトは、ハードウェアの普及を促進したということで、パーソナルコンピュータにおけるキラーソフト(キラーアプリ)と呼ばれている。
以下、基本操作の解説を書いておいたが、ほとんどの人は高校の授業で習得済みだと思う。「全く不安の無い人」がいなければ、基本操作の部分は割愛する。
Microsoft Excelの各部の名称 †
値・数式の入力と計算 †
- セルを一つクリックして、 =1+2 という式を入力
セルの参照 †
- セルA1に5, セルB1に8を入力
- セルC1をクリックして半角=を入力し、セルA1、せるB1をクリック
- (あるいは、セルC1をクリックして、=A1+B1と入力しても同じ)
5 8
式(参照)のコピー・ペースト †
- 式を入力したセル(例ではC1)をクリックしてコピー(ctrl+c):選択されたセルが波線で囲まれる
- 同じ法則(例では「左側の2つのセルの値を足すこと」)を適用したいセルをマウスドラッグで選択
- ペースト(ctrl+v)すると、選択範囲に全て式がコピーされる
5 8
1 2
3 4
5 6
7 8
絶対参照 †
- 下の例のようにエクセルに果物の個数を入力して合計を求める
- りんごの個数の全体に対する比率を =B2/B5 で計算。書式をパーセントにする(あるいは、パーセントの計算式を入れる。関数を使っても良い)。
- りんごの比率の入ったセルをコピーして、他の項目の比率のセルにペーストしてもうまく行かない
- これは、通常のコピー・ペーストでは、セルが相対的な位置関係で参照されるため
- リンゴの比率を計算するときに、分母のセル指定を $B$6 と$記号をつけて参照することで、絶対参照できる
関数の利用 †
- 合計を入力したいセルをクリック(例ではC6)
- =sum( と入力し、マウスで合計したい数値の範囲をドラッグし、最後に ) を入力してリターン
- (合計を入力したいところにカーソルを持っていって、ツールバーのΣをクリックしてリターンでもよい)
→
今つかったsum関数は、エクセルを利用する上で最も頻繁に用いられる関数。使い方をよく覚えておこう。
正規表現検索・置換とエクセルの操作に習熟 †
これからの学生生活で、皆さんはきっといろんなデータを集計する機会に出会うはず。例えば、名簿、部費の管理、アンケート調査の結果、そしてもちろん、実験データ。こういうデータは必ずしも、いつも最初からエクセルに入力されている訳ではない。たとえば、メールで受信した解析データをエクセルで集計したい場合もあるはず。そんなときにもやっぱり、
データの区切りをタブに置換して、エクセルで集計!
では、下の囲みの中のようなデータを解析してみよう。これは、千葉大の西千葉キャンパスの草地に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: 作業手順 ・K2Editorによる正規表現を用いた一括検索・置換 †
- データをK2Editorにコピー
データをじーっとみると、
種名<スペース>数字
という並びが見えてくる。どうやらスペースには、半角と全角のスペースが混在しているようだ
- K2Editorで正規表現検索・置換で全置換
検索文字列: [ ]+(注:[]の間に半角と全角のスペース1文字ずつ入れる。これでスペースの1文字以上の繰り返しを意味する)
置換文字列:¥t(注:半角¥マークと半角t:タブのこと)
- 置換できたもの全てをコピーしてエクセルの新しいシートに貼り付け
自分で考えてここまで出来ただろうか?
演習1: 作業手順 ・エクセルによるデータ整形 †
これでテキストファイルからエクセルへのデータの移動はできたが、まだ、
区画No. 種名 個体数 日付(<日付については後ほど手入力>)
という形にはなっていない。
集計作業 では、データ行の上には ''見出し行' 'を作り、それぞれの列の 見出し を書いておく
ことが必要だ。そこで、エクセルの上で、行の挿入、コピー・ペースト等を使って、下の様な形に整形する。(操作方法は前方スクリーンで示す。ほとんど全て、マウスの右クリックでメニューを表示させてできる。)。
- 見出し作成: ワークシートの最左端の"1"という四角をクリックして、1行選択。メニューバーの「挿入/行」 で最上部に1行挿入。
- それぞれのセルに、見出しを入力(上の囲みの中をコピー・ペーストしてもよい)
ついでに、上の図のように、日付も入力しておこう。1つ入力したら、あとは、コピー・ペースト。
これで集計の準備はできた。
サンプルデータの並び替え【必修項目】 †
データの並び替え(ソートともいう)は、大量データを扱う上で、絶対に知っておかなければならない方法なので、必ず習得して欲しい。
ぱっと見で分からなくても、並べ替えたり、集計したりすると、何かが見えてくる
では、サンプルデータを見てみよう。ここで、
全部のデータを合わせたとき、どの種の個体数が最も多いか
を知りたいと思ったのだが、この表では、同じ種がばらばらに出てくるのでわかりにくい。そこで、「種名」で並べ替えてみる
- 全てを選択し(Aと1の間のボタンをクリック)
- 右端の「並べ替えとフィルター」→「ユーザー設定の並び替え」
- 並べ替えウィンドウの中、「範囲の先頭行」で「タイトル行」を指定し(ラジオボタンをクリック)
- 優先されるキーで「種名」、昇り順
- 「OK」をクリックすると、種名順に並びかわる。
これで、同じ種名のものが近くにまとまったので、全部のデータを合わせたとき、どの種の個体数が最も多いかかがわかる。
並び替えでは2つの並べ替えキーを設定することもできる。先の並び替えの2番目のキーに「個体数」を指定して並べ替えてみよう。
並び替えたデータの集計【必修項目】 †
上の並び替えで、どうやらオランダミミナグサの個体数がもっとも多いとわかるのだが、実際に何個体現れたのかを知ろうと思うと、いちいち計算しなければならくて面倒。そういうときにエクセルの「集計」機能を使って、自動的に計算させる。
重要事項:集計する前にグループの基準になる項目で必ず並べ替えておくこと
- 全てを選択し(左上角の<>をクリック)
- 「データ」リボンから、「小計」
- 集計したいのは「種名」の「個体数」の「合計」なので、以下の3項目をチェック。(例では「現在の集計行と置き換える」、「集計行をデータの下に挿入する」をチェックしてあるが、この例ではしてなくても良い)
グループの基準: 種名
集計の方法: 合計
集計するフィールド:個体数
- 「OK」をクリックすると集計データが表示される。
- 集計見出しの2をクリックすれば、集計結果だけが表示される。
これで、「オランダミミナグサが23個体で最も多い」と分かった。
万一失敗しても、集計データはすぐに消せる。
集計データを削除するには、上の集計ウィンドウで「削除」をクリック。 元データは削除されないので心配無用。 |
データのグラフ化 †
エクセルで集計はできたのだが、数字をみて傾向をつかむのはなかなか難しい。そこで、データをグラフにして表現する。グラフにすることによって、データの大小の程度や全体の傾向が一目で分かるようになる。
グラフを使うことで、データの持つ傾向が一目で分かる! |
データをグラフで表現する場合に、どのグラフを使えば良いかを考える。データの持つ傾向をみるためにいろいろなグラフを試すのはいいが、人にグラフを見せるときには、そのグラフで何を言いたいのかを十分に検討して、それに適したグラフを選ぼう。データで言いたいことに適さないグラフを使うと、言いたいことが伝わらないだけでなく、余計な誤解を与えることになりかねない。エクセルで使える代表的なグラフは次のようなもの:
それぞれ、
- 縦棒・横棒グラフは、対象間で数値の大小を表現するのに適している
- 折れ線グラフは、時系列に沿った数値の変化を表現するのに適している。
- 円グラフは、対象ごとに全体に占める割合を表現するのに適している。
- 散布図は、2つの変数間の相関を見るのに適している。
グラフの作成1:まずは単純なグラフから †
では、上の集計データから、種ごとの個体数の合計値をグラフで表してみよう。
- まず、どんなグラフを作るか考える。ここでは、種ごとの合計値の違いを表したいのだから、棒グラフを試すことにする。
- グラフ化したい部分を選択
- 「挿入」リボンから、棒グラフを選択
これで完了。
項目軸名の変更 †
上のようにしてグラフはできたのだが、それぞれの項目軸には、「オオバコ 集計」というように「集計」という文字が余分に入っている。ここで、グラフに表示されるのは種名のみにしたい(つまり「集計」を消したい)。
こういう時は、エクセルの関数を使って、項目名から「集計」を除いたデータを新に作成して、グラフ作成に利用してみよう。
エクセルには様々な便利な'関数'がある。前回使った sum関数もその1つ。今回のように、ある文字列を消したり、別のものに置き換えたいときには、文字列の置換に使える関数: SUBSTITUTE() を利用する
- 種名だけが入ることになる、新しい列を、合計値の左横に挿入。
- 新しくつくったセルのうちどれか1つをクリックする。
- このセルの下には、種名のみ(「集計」という文字を除く)だけを入れたい。そのためには、1つ左の「xxxx 集計」という文字列から、「集計」という文字を除けば良い。そこで、セルにsubstitute関数を入力
もし、使い方が分からなかったら、Excelのヘルプを表示させ、substituteを検索する。そうすると、使い方が表示される(以下、Excelヘルプから引用)
substitute(文字列, 検索文字列, 置換文字列, 置換対象)
文字列 置き換える文字を含む文字列を指定します。
目的の文字列が入力されたセル参照を指定することもできます。
検索文字列 置き換える文字列を指定します。
置換文字列 検索文字列 と置き換える文字列を指定します。
そこで、たとえば「オオバコ 集計」(A1のセル)の右横に新しい種名を入れたいのなら、
=substitute(A1, "集計", "")
と入力。このとき、検索したり置換したりする文字列は、"で囲んでおく。
- 「集計」を除いた文字列が表示されるので、他のセルにコピー・ペーストする。
グラフの作成2:系列3つを一挙に指定 †
先ほどのグラフは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 |
- 上のデータをコピーして、エクセルにペースト。うまくペーストできないときは、いちど、K2Editorにペーストしてから、再度コピーペースト。
- 表全体を選択したら、ツールバーのグラフアイコンをクリック:グラフウィザードが表示される(あるいは、メニューバーの「挿入/グラフ」)
- グラフウィザード1/4: グラフの種類では「縦棒グラフ」をクリック。「次へ」
- グラフウィザード2/4: グラフに使うデータを指定する。
- 範囲のところに何か文字列が入っていたら消しておく
左上隅の空白から、「区画」と「種名」を含めて、「ヤセウツボ」の右下隅までのデータをマウスで選択
- 完了をクリックすればグラフが表示される
発展演習: 時間のある人は次の発展演習をやってみよう。 †
- 1. 添付のエクセル書類は、東京都健康安全研究センターで公表されている環境放射線量測定結果を表にまとめたものです。このデータを使って、3月から現在までの、環境放射線量の変化をグラフにしなさい。放射線.xlsx
- 2. 千葉県のホームページには、千葉県における上水(蛇口水)の核種分析結果が掲載されています( 4月分、3月分)。3月分と4月分のデータをエクセルの上であわせて、上水核種分析結果をグラフにしなさい。
ウィルス対策ソフトの紹介 †
最初の授業で行ったアンケートで、パソコンを持っているのにウィルス対策ソフトを使っていない人が数名。
自分のパソコンがウィルスに感染すると、自分が困るのはもちろんのこと、データを交換した他のコンピュータ(USBメモリやメールなどで)にも大変な迷惑をかけることになる。
ウィルス対策ソフトは必ずインストールしておこう。フリーのソフトでは、Avastが高機能で、ウィルス対策データの更新も頻繁。ただし、1年に1度、ウェブ上で登録更新して(住所やメールアドレスを記入)、ソフトウェアに登録キーを入力する必要がある。
http://www.avast.com/ja-jp/free-antivirus-download
第6回授業の課題 †