「タスク本」ができるまで

大修館書店から,『タスク・ベースの英語指導ーTBLTの理解と実践』という本が出版されます。この本は,名城大学の松村昌紀先生が編著者で,私も一部の章を執筆させていただきました。

私のところにも,出版よりも一足早く著者見本が送られてきました。実際にこうして製本されたものを手に取ると,いよいよだなという気持ちになります。今日は,「出版記念」(?)ということで,この本に対する思い(出)を綴っておこうと思います。長くなりそうな予感がしていますがお付き合いください。

この本に関わらせていただくことができたのは,色々な縁があったからです。私が名古屋に来て間もないある日,この本の執筆者の1人である福田さんに,「名古屋でやってる研究会があるんだけど興味ない?」と言われました。私は自分が知らない人ばかりの場所に行くのがとても苦手なので,実はその時はあまり参加に前向きではありませんでした。しかし,1回だけでも行ってみようと思い福田さんに連れられて参加しました。実は,その研究会を主催していたのが,タスク本の編著者である名城大学の松村先生だったのです。

もちろん,『タスクを活用した英語授業のデザイン』や『英語教育を知る58の鍵』などの著書で知られる松村先生のお名前は存じ上げていましたが,お会いするのは初めてのことでした。

行ってみるとその研究会はとてもアットホームでありながら,知的にレベルの高い議論が繰り広げられ,大変刺激的な経験をすることができました。松村先生は,初めて参加した私のことも快く迎え入れてくれ,私は今ではその研究会に毎月参加する「常連メンバー」となっています。

私は,松村先生が2012年に出版された前述の『タスクを活用した英語授業のデザイン』を読んでとても感銘を受けた多くの方々のうちの1人です。修士論文の研究もタスクに関するものでしたから,Task-based Language Teaching (TBLT)に関連する書籍や論文も読んでいましたし,松村先生がお持ちの英語教育に対する「思い」や「理念」のようなものに共感することも多かったです。

私が研究会に初めて参加してから1年ほどが経った2015年の4月から,Michael LongのSecond Language Acquisition and Task-Based Language Teachingという本を研究会で読むことになりました。この本が出た,そしてこれを読んだということがなかったら,もしかすると私達の本が出版されることもなかったかもしれません。確か,2015年の秋冬頃に,松村さんが「タスクの本を出そう」というようなことを仰っていて,「その時には福田くんと田村くんもぜひ書いてほしい」ということを仰っていただいたような記憶があります。もちろん,それは研究会の合間の他愛もない会話の一場面で,当時は本当に出版することになるとは,ましてや私も執筆者の1人として名前を連ねることになるとは夢にも思っていませんでした。

そして,2015年末に,浦野先生が「あの夜」と呼ぶ日がやってきます。

私は,松村先生とも浦野先生とも仲良くさせていただいていて,その日も浦野先生が名古屋にいらっしゃるということで,福田さんや数人の先生方と一緒に名古屋でお会いすることになっていました。そこに,松村先生も合流し,「松村先生と浦野先生が同じ宴席にいる」ということをとても新鮮に感じたように記憶しています。そして,浦野先生いわく「『あの夜』に俺が松村さんを(タスク本の出版に向けて)けしかけた」そうです(笑)。そして,2016年1月のセンター試験の頃,松村先生が企画案を作ってくださり,その後タイトルや内容についての交渉があり,2016年の5月頃から執筆をスタートさせたように記憶しています。

私の担当は,TBLTに関する疑問などに答えながらその解決策を提示するという主旨の第4章と,中学校・高等学校での実践に関する第7章でした。特に後者の執筆は大変難航を極め,私が第1稿を著者の方々にお送りしたときには「各章25ページ」という制限を大幅に超えた70ページにもなる原稿でした(笑)。内容的にはゆるやかな縛りしかなく,本当に私の「書きたいこと」,「言いたいこと」を詰め込みすぎてしまったために,「あれも書いておこう」,「これにも言及しておかなくては」とどんどんと原稿が冗長になっていたのでした。松村先生には,文字通り「ざくざくと」私の原稿を「斬って」いただき,最終的にはページ制限をオーバーしつつもなんとかOKサインをもらえたのでした。

松村先生と一緒に仕事をしたことで,「少しでも良いものに仕上げるためなら労力は厭わない」というプロフェッショナリティやプライドを間近に感じることができ,本当に刺激的な1年間だったなと思います。原稿の書き直しは何度もしましたし,校正の段階で松村先生からの手書きのコメントつきの校正紙を見てあまりのコメントの多さにそのままそっと封筒に戻して頭を抱えたこともありました。それはまさに,「査読コメントのファイルを開いてすぐ閉じる」ときのような気持ちでした。そこまでのエネルギーを注いで他人の原稿を読むことは,なかなか真似できることではありません。そんなときでも,「僕は自分の書いた部分はそれ(他の人の書いた文章にコメントしている)以上に書き直しをしているよ」とおっしゃっていただいたり,「僕1人では絶対に書けなかったと思えるような内容だから本当によかった」と励ましていただきました。著者陣の中でも一番未熟な私をそのように厳しくも温かく導いてくださり,本当に感謝の念に堪えません。

執筆する中で私が一番苦しかったのは,「私の原稿は松村先生の本を上回るものになっているのだろうか。新しい視点は提示できているのだろうか。焼き直しになってはいないだろうか」ということでした。私が書くからには,「自分にしかできない仕事」をしないと意味がありません。そうでないと,私が書く意味がなくなってしまうからです。そうした思いから,特に第7章の方では,具体例や実践者としての自分のビリーフのようなものを織り交ぜながら書くようにしました。

昨日の中部地区英語教育学会でいろいろな方とお話させていただいて,本に書いた内容でもまだ不十分というか,「十分に消化しきれない。もやもやが残る」というような部分もお読みいただきながらきっと出てくるだろうなと今になっては思います。ただ,それでも執筆当時は私の全力で書いた文章だったのです。この点については,今後の研究の課題として引き受けて,乗り越えていけるようにしようと思っています。

長くなりましたが,最後に。

私はアメリカの修士課程に在籍していたころからブログで文章を書くようになりました。今でも2011, 2012年あたりの記事を見ていると,本当に恥ずかしいような文章を(それも結構な頻度)で書いていたのだなと思います。WordPressに移行し,日本に帰ってきてからはこの「英語教育0.2」というブログをスタートさせましたが,アメリカにいた頃は「田村の日本語はめちゃくちゃだ」「アメリカにいるから日本語の文章の書き方を知らないんじゃないか」といったような「お叱り」を受けるようなこともしばしばありました。そんな私が,主にTwitterを通じてたくさんの方にお世話になり,あれから5年ほどの月日を経て,商業媒体に日本語の文章を載せることになったなんて,なんだか不思議なこともあるものですね。

いただいたチャンスを無駄にせず,今後につなげていけるよう,これからも一層頑張っていきたいと思います。

なにをゆう たむらゆう

おしまい。

CELES2017英語教育実践セミナー

以前このブログでも紹介させて頂きましたが(https://tam07pb915.wordpress.com/2017/03/28/seminar-celes2017-nagano/),明日6月24日に信州大学で行われる第47回中部地区英語教育学会の英語教育実践セミナー1で,「タスクを用いたスピーキングの指導と評価」と題した発表をさせていただきます。

投影資料についてはまだ細かいところで修正をするかもしれませんが,配布資料を印刷し終えたので,配布資料をGithubページにアップロードしました。

https://github.com/tam07pb915/CELES2017-Seminar

Githubでスライドを公開する方法がいまいちよくわからず,何度か調べたりしながらトライしたのですが結局うまくいかなかったです(github.ioを作ればよいことまではわかったのですが,HTMLファイルはそこで公開できても,Rmarkdownからreveal.jsを経由して作ったHTMLファイルをスライドとして公開するやり方がわかりませんでした…

配布資料は,pdfのものについてはRmdファイルからMS-Wordに出力したあとにPDFにしたものです。Wordファイルにした後で,フォーマットをいじったり一部穴抜きにしたりしてあります。Rmdファイルのものは穴抜きになっていません。

また,当日は私が担当したクラスの学生の発話を音声で流しますが,その部分については公開した資料からは削除してあります。

基本的には,『タスク・ベースの言語指導ーTBLTの理解と実践』で私が担当した部分で書いたタスク・ベースの指導における評価の考え方のような話をする予定です。先月に広島で私が話したこととも一部重複する話も少しだけあります。

この本のこともブログできちんと紹介しなければいけないので(順番が前後してしまいました),書きかけの記事をなるべく早く公開できるようにしたいと思います。

それでは,みなさん,長野でお会いしましょう!

なにをゆう たむらゆう

おしまい。

 

 

RStudio 1.0.143

MacのRStudioを新しいversion(1.0.143)にアップデートしました。

何が変わっているのかなと思ったら,Rmdでコードを実行した時に,もはやコードの実行結果がコンソール上に表示されなくなっていてびっくり。これはこれで便利なのかもしれないけど,慣れていなさすぎて逆に戸惑っています…

もちろん,コンソール上に直接打ち込んでいたり,R Script上で打ち込んでいれば結果はコンソールに出るのですが,RmdファイルのRチャンクをつかっている場合,そのチャンクの下に結果が表示されるようになっていて,大きいデータはGUIでポチポチするようになっています。

別ウィンドウに出せるようにもなっていて,Notebook Outputと呼ばれているようです。

多分出力の結果によってこのアウトプットのされ方も色々変わってくるのでしょうね。細かいことはまだよくわかってませんが,ちょっと使ってびっくりしたのはこの仕様でした。

個人的にはRStudioは好きで今まで使ってきていたのですが,これはなんかちょっと違うような…

なにをゆう たむらゆう

おしまい。

※追記

プロットも右下のペインではなくRチャンクの下に表示されるようになっているようです。

「コーパスやりたいです」の意味わからなさ

主にMの学生向けです。新入生も入ってきたりする時期で,どんな研究をしたいかという話をする機会が最近多いですが,なんかそれよくわからないなと思うので少しだけ。

タイトルだけだとコーパスに関わる研究をしている人を批判しているように誤解されてしまうかもしれないのですが,「コーパス」の部分には他にも色々入ります。それは後ほど。

「コーパスやりたいです」が意味わからないと思うのは,コーパスは,少なくとも私の中では道具や手段だからです。もちろん,コーパスが研究の対象となることも当然あって,「コーパス言語学」という分野もあるにはあるのでそれはもちろんいいです(「んなもんはない」という人もいるかもしれないですがその戦いにはコミットしませんとりあえず)。ただ,コーパスを研究対象にするにしても,一体なんのためにコーパスを研究の対象にしていて,そのゴールは何なのかということだけは考えてほしいなと思うのです。

何か見たいものがあって,それを見るためにコーパスを用いるのがベストな選択肢であるならば,コーパスを使うべきであると思います。ただ,研究課題に対して必ずしもコーパスを用いることが適切でない場合もたくさんあります。先にコーパスから入ってしまえば,コーパスを使って研究できることしかできないわけで,最初に決めるべきは研究の対象であって使う道具ではないでしょう。これは,第二言語習得研究で使われる測定具を「◯◯やりたいです」に当てはめて考えてみればわかります。

  • 文法性判断課題をやりたいです
  • 視線計測をやりたいです
  • 自己ペース読みをやりたいです
  • 語彙性判断課題をやりたいです
  • ERPをやりたいです

もちろん,測定具の妥当性を検証することという意味では,上記のやりたいことも研究になりえます。文法性判断ていうけど,一体それは何を測っているのか,測りたいものを測れるようにするためにはどんな工夫が必要なのかということは,それこそ第二言語習得研究の最初の頃から今まで続けられていますよね。これはいわゆる「テスト」も同じです。

  • スピーキングテストやりたいです
  • 語彙テストやりたいです
  • リーディングテストやりたいです

テスト自体も研究の対象になります。スピーキングテストっていうけどそれは一体何を測定しているのか,測定しようとしているものが測れているのか,そういったことを研究課題にするのがテスティング研究者なわけです。

ですから,「測定」に興味があるのはとても良いことですし,ぜひそういう研究やってほしいなと思うのですが,「コーパスやりたいです」と言われると,「コーパス使って何をやりたいの?」と聞いてしまいます。言語教育にコーパスを応用したいということなのか(だとすればどんなことに応用したくて,それがなぜコーパスという手段なのか),言語発達をコーパスで調べたいということなのか,言語使用の特徴をコーパスで調べたいということなのか。コーパス自体が研究の目的になることって,少なくとも言語学の講座ではない場合にはそんなに多くないのではと思います。

ですから,道具立てそれ自体にこだわるよりも大事なのは,研究したいこと,明らかにしたいことを明確にすることと,それに応じて適切な道具を使いこなせるようになることです。

私は文法の習得や文処理に関心があり,そうした研究をこれまで多くやってきましたが,例えば「どんな研究をされていますか?」というような質問を受けたときに「自己ペース読み課題です」と答えることはありません。「第二言語の文法習得や文処理を心理言語学的なアプローチで研究しています。例えば,自己ペース読みなどです」と答えるでしょうおそらく。

ただし,それだけが手法ではありません。常に自分の見たいものを一番見れる方法を考えていますし,新しい実験の手法があればそれを取り入れて研究をやっていきます。興味があることもたくさんありますから,自分の興味があることに合わせて手法も選択することになります。手法が先に来てしまうと,その手法で見れることしか見ないことになり,視野が狭まってしまいます。「コーパス」という手法にとらわれて,実は自分が見ようとしていたものがコーパス以外の方法でより確実に見れることに気づくことができないかもしれません。

その意味で,道具立ての妥当性や信頼性を検証するという目的があり,そしてそれが分野にどういった貢献をするのかを理解していて,なおかつそれが自分の本当にやりたいことなのだと思えるようでなければ,手法よりも先に「見たいもの」について考え抜いて悩み抜いたほうがいいのではないのかというのが結論です。

久しぶりの更新でした。

なにをゆう たむらゆう

おしまい。

英語教育実践セミナー@CELES2017長野大会

2017年6月24-25日に長野県の信州大学で開催される第47回中部地区英語教育学会長野大会の,英語教育実践セミナーでお話させていただく機会をいただきました。この企画は,中部地区英語教育学会長野支部の特別企画だそうで,なんと私の出るセミナーのタイトルは,「スピーキングの指導と評価」です。

ファッ!?いやいやスピーキングの研究とかメインでやってないし評価の研究もメインでやってないよ!?なぜこの話が僕のところに!?

というのがこのお話をいただいた際に思ったことですが,「はい」か「YES」しか選択肢がないのでお引き受けしました。原稿はとっくにあがってるのになかなか校正に入っていない「タスク本」(出版社がとてもお忙しいようです)に書いた内容とも関連させて,タスクを用いたスピーキングの指導と評価についてをお話しようかなと考えているところです。

時間は大会初日24日の10時からということで,ここ数年の中部地区英語教育学会では「恒例」というほどになってきた「英語教育研究法セミナー」の「裏番組」です。参加者として毎年英語教育研究法セミナーに出るのを楽しみにしていたので,そちらに出られないのは残念ですし,昨年度はかなりオーディエンスも多かったセミナーと同じ時間帯ということで,参加いただける方がどれだけいるのかとか不安はあります。そこは実践セミナーの司会を務められる浦野研先生(北海学園大学)にお力添えをいただこうと思います。

私がお話する内容は,「これがいい!」とか「この方法でやればスピーキング力が伸びる!」とかそういったことではなく,「こんな感じでスピーキングの評価を考えてみるってどうですかね?」というような「提案」になると思います(「提案者」としてお話するので)。フロアの皆さんとのやりとりを通して,スピーキングの指導と評価について考えを深められればと思いますので,ぜひ,CELES長野大会にお越しいただければと思います。

なにをゆう たむらゆう。

おしまい。

 

中部地区卒修論発表会2016の感想など

土曜日に,中部地区卒業論文・修士論文発表会2016に参加しました。去年までは基礎研として運営に携わっていたのですが,今年からは色々とオトナの事情とか私らの事情によりLET中部支部と中部地区英語教育学会の共催という形になり,「参加者」として楽しく勉強させていただきました。

他大学の学部生さんや院生さんの発表をこんなにたくさん聞く機会はなかなかありませんし,ゼミで後輩の発表にコメントするのとはまた違うので,主に「どうやってコメントしたら発表者の人に有益になるだろう」ということをずっと考えながら発表を聞いていました。酒井先生のコメントを聞くといつも自分のコメントの下手さに気づかされて凹むという恒例行事もありました。私はいつもの名大のゼミのノリでガンガン突っ込んだら発表者の方がちょっと機嫌悪そうな感じになってしまって「これはちょっとまずったかな…」と思っていたら,近くに座っていた知り合いの先生とも,

「知り合い?」

「あ,いえ全然知りません」

「あ,そうか,いや,結構ガンガンいくなーと思って」

みたいな話をしたので反省をしていたのですが,発表の後に「さっきは緊張してうまく質問に答えられなかったのでもう一度教えてください」と聞きに来てくれてホッとしました。私が言いたかったことは伝わったみたいでよかったです。発表者の指導教官の先生がいらっしゃっている場合などは,その先生とも話ができて個人的にはそれもよかったです。

私が一番いいなと思ったのは,「コメントシート」というシステムでした。プログラムと一緒に小さな紙が6枚(1人の人が聞くことのできる最大発表数分)用意されていて,そこに発表者の名前を書いてコメントを書くというものでした。学会の発表って質疑が盛り上がったり,くだらない質問やスピーチで時間が無駄になったりすると「質問したかったけどできなかった」みたいなこともあったりしますよね。

もちろん発表の後に個人的に伝えるという手段もあるのですが,発表の間の時間が短くて部屋移動とか考えると自分が移動しなくちゃいけなかったり気づいたら発表者の人がいなくなっていたりすることもしばしばあります。そんなときに,紙に書いて発表者本人に渡せるというのはいいなと思いました。発表者本人からしても,あとでその紙を見ながら落ち着いて見直すこともできますし,指導教官とシェアして相談したりということもできます。指導教官の先生からしても,自分の指導生の研究がどんなコメントをもらったのかは興味があると思いますし(たぶん),発表の場にいられないということもあるでしょうから,指導生がコメントシートを見せてくれたらそれは学生の研究指導に(直接的にではなかったとしても)役に立つのではないかと思います。

また,私も最初はそうでしたが学会発表のときに手を挙げて質問するのは特に若い人は躊躇したり勇気がなくて手を挙げて言えないこともありますから,そういう人たちにとっても紙に書いて渡せるのはメリットがありそうです。一応名前や所属を書くことが想定されているのだろうというスペースもありましたが,それを書かなければ匿名で質問することもできますし。

私は海外の学会に行ったことはないので雰囲気はわかりませんが,国内の学会だと質問が出なくて質疑応答の時間を早めに切り上げる(あるいは司会者の先生がアイスブレイキング的な質問をしたり)ということもしばしばあるので,コメントシートを作ったところで誰も書かないということもあるのかもしれませんが,書いて渡す(実際には司会者・コメンテーターの先生が回収して発表者に渡す)のならコメントしようという層もいるんでしょうかね。どうなんでしょう。講演やシンポジウムだとコメントシートを集めて回収というのはよくあるパターンですが,自由研究発表だとなかなかないですよね。あったらいいなと思います。

1つだけ残念だったことは,時間の都合などもあるでしょうが最後の講演まで残っている発表者や学生の方が少なかったことです。「発表しなきゃいけないから来た」という人もいたのでしょうし,それはそれであまり責める気にはならないです。ただ,自分が発表して終わりというのはもったいなくて,他の人の発表を聞くことでも自分の発表を相対化できる貴重な機会なのに,それを逃してしまうのはもったいないなぁと。最後の阪上先生の講演も,「これから教師になる人たちへ」っていう講演だったのに,本当にあの話を聞くべき人たちはあそこまで残っていたのかなと少し残念な気持ちになりました。「中部地区」というのは広いので,新潟や長野から来ている学生さんもいましたし,愛三岐以外からの発表者には新幹線の片道×1.5倍の交通費の補助が出たとはいえ,泊まりは厳しいので早く帰らなくてはいけないという事情もあったのかもしれません。プログラム作成が悩ましいですね。朝早くにすればそれはそれで前泊しないと間に合わなくなってしまいますし,かといって18時終了のプログラムだと帰りが間に合わないとなってしまったり。じゃあ,といって時間を圧縮するためにパラレルで1枠の発表数を増やせば(5部屋同時とか),人がばらけてしまってオーディエンスが少なくなってしまいます(そして部屋数が増えればお金もそれだけかかってしまったり)。難しいですね。講演を最初にやるとそれはそれで人が来ないかもしれないので,研究発表の間に講演を挟むっていうのもありかもしれません。

あとは懇親会ですね。発表者の人で懇親会に参加したのは3人(うち2名は名大の後輩)で,発表者の交流の場になったのかはちょっと疑問です。これも時間の問題があったと思うので,懇親会的なものをやるのだったらランチ(軽食)ビュッフェ的なものをやって,発表者の人たちが縦にも横にもつながりを作れるようなチャンスを作れたらいいのではないかなと思いました。この時間どうするかみたいなあたりは,それぞれの県が密集していて交通アクセスもそれなりにいい関西とかとの事情の違いですよね。

とまぁ色々言いましたけど,「じゃあ誰がそれやるの?」って言われると色々アレなんですが,全体的にはとてもおもしろかったですし,行ってよかったなと思ったので,持続可能なイベントになってくれればいいなと思います。

なにをゆう たむらゆう。

おしまい。

 

[R] データフレームの中の英文の語数を数える

以前,エクセルで英文の中の特定の単語までの語数を数えるという記事を書きました。今回はそれよりもっと単純で,Rのデータフレームの中の1部に英文が入っていて,その英文の語数を数えてデータフレームに付け足したいなっていう作業です。

%e3%83%96%e3%83%ad%e3%82%b0%e8%a8%98%e4%ba%8b%e7%94%a8_20170218

こんな感じでロング型のデータがdatという変数にあるとします。このデータフレームのなかの,sentenceという列には英文が入っていますが,それぞれ長さが違います。文が長いほうが反応時間も長くなっちゃいますから,そのために英文に含まれる語数を数えてそれも分析に使いましょうということです。僕がやっているような反応時間を扱う実験ではよくありがちな手続きです。本来なら刺激文作るときにそれもちゃんと数えておいて(エクセルで語数数えるのは簡単です。前掲の記事の一部がそれです),結果が出力される際にちゃんと語数の情報も含めておけばいいんですけど,まぁ今回はそれ忘れちゃったんでRの中でやってしまおうという事後的な対処法です。

さてさて前置きが長くなりました。Rでの文字列処理の基本は「分ける」・「数える」だと思います。僕はそんなにRで文字列処理しないんですが,今回の場合で言うと,データフレームの要素に含まれる英文をスペースで区切り,区切ったときにいくつかに分けられた要素の数を数えることで語数をカウントするという手続きになります。

今回使う関数は次の4つです。

  • (as.character関数)
  • strsplit関数
  • length関数
  • sapply関数

順番に説明していきます。strsplit関数は

strsplit(分けたいもの,区切り文字)

という感じで使います。今回の場合,分けたいのはdatの中のsentenceという列(dat$sentence)で,スペースで区切りますから,

strsplit(dat$sentence, ” “)

とすれば,

%e3%83%96%e3%83%ad%e3%82%b0%e8%a8%98%e4%ba%8b%e7%94%a8_20170218_2

こんな感じで単語ごとに区切ってくれます。この出力は1文ずつのリスト形式になっていて,そのリストの要素が英文を構成する単語になっています。もしも,このstrsplit関数がうまくいかなければ,

is.character(dat$sentence)

として,データフレーム中の英文が文字列形式で格納されているかどうか確かめてみてください。因子型(factorial)になっていると,strsplit関数は適用されません。これを変えるのが,as.character関数です。

strsplit(as.character(dat$sentence))

または,

dat$sentence<-as.character(dat$sentence)
strsplit(dat$sentence, ” “)

としてみてください。

さて,これでひとまず「区切る」作業はできましたが,まだ「数える」にはいたっていませんよね。数えるためによく使われるのが要素の数を数えるlength関数です。ただし,例えば

length(strsplit(as.character(dat$sentence)))

としてもうまくいきません。これでは出力されたリストの要素を数えるので,元のデータフレームの行数が表示されるはずです。ここでは,「リストのそれぞれの要素に対してlength関数を適用したい」わけなので,もうひと工夫必要です。そこで使うのがapply系列のsapply関数です。この関数は,

sapply(リスト,関数)

という形で引数を与えてあげると,リストの各要素に関数を適用してくれます。これと同じことができるのがlapply関数です。lapply関数を使うと,結果の出力もリスト形式で返されます。ただ,ここでは語数が並んだベクトル形式のものを手に入れて,それをもとのデータフレーム(dat)に追加したいわけなので,sapply関数のほうがベターです。lapply関数にすると,そのあとリストをベクトルに直すunlist関数を使う必要があって二度手間になってしまうので。というわけで,

sapply(strsplit(as.character(dat$sentence), ” “), length)

こうしてあげれば「スペースで区切る-> 語数を数える -> ベクトル形式で結果をゲット」という作業が完了します。あとは,

dat$num.words<-sapply(strsplit(as.character(dat$sentence), ” “), length)

としてあげれば,datに新しくnum.wordsという列が追加され,そこにはsentenceの列に入っている英文の語数が格納されることになります。めでたしめでたし。といきたいところなのですが,最後におまけでもうひとつ。

上の書き方だと,いくつもの関数が入れ子状態になっていて,一見して作業がわかりにくいですよね?そこでパイプ演算子を使って同じことをもう少しわかりやすく書き直してあげます。

dat$sentence%>% #datの中のsentenceという列を取ってくる
as.character%>% #文字列型に変換
strsplit(. , ” “)%>% #スペースで区切る
sapply(., length) -> dat$num.words #リストの要素ごとに語数を数えてdatというデータフレームのnum.wordsという列にいれる

こうやって書くと,作業の過程が見えてわかりやすいですよね。ちなみにこのパイプ演算子はパッケージ依存です。dplyrやtidyrを使うときに使うやつですね。たぶんこれらのパッケージを読み込んでいればパイプ演算子も使えるようになっているはずです。もともとはmagrittrというパッケージに入っているのがパイプ演算子が%>%なんですよね(たしか)?

というわけでlapplyの出力をunlistしてできたできたと思っていたらsapply関数の存在に気づいてなんだよ二度手間じゃんかよって思ったのでブログ記事にしました。

なにをゆう たむらゆう。

おしまい。

 

 

 

[R] 欠損値を1つでも含む行を抽出

ものすごい初歩的なことだったのに,調べてもなかなかヒットせずに格闘したのでメモ。

RでNAを処理する方法はたくさんあって,ある特定の列にNAが含まれる行だけ引っ張ってくるなどは結構簡単だったりする

subset(dat, is.na(dat$A))

とかでいい。ただし,データフレームにある複数の変数の中で1つでもNAが入っているかどうかとなるとちょっとどうしたらいいんだこれは,となる。

na.omit(dat)としてNAが含まれている行を全削除すればいいのでは?となるかもしれないが,実は今扱っているデータがlong型のうえにかなり複雑なデータフレームになっていて,同じidが複数行にまたがってしまっているという状態。実験のデザインがかなり複雑なのでこれはこれで仕方がない。

つまり,複数行のうち1行でもNAがあるidは,NAが含まれない行でも削除しないといけない。そのためには,NAが含まれる行のidを特定する必要があるわけだ。そこで,欠損値を含む行を抽出し,その中からid列だけを取ってくるという手続きを取る必要がでてきた。こうすれば,あとはdplyrのfilter関数なり,subset関数なりでそのidが含まれる行をすべて抜いて新しいデータセットを作ればよい。

それで,この,NA行の特定をベクトル形式で返してくれる関数が,complete.casesという関数。is.na関数にデータフレームを渡すと,その結果は行列(matrix)形式になる。これはこれで,どの行のどの列にNAがあるかを確かめるのにいいのだけれど,こちらが欲しいのは,「何行目」にNAが含まれるのかという情報だけ。そこで,complete.cases関数を以下のような感じで使う。

subset(dat, complete.cases(dat)==F)

あるいは,

dat%>%
filter(complete.cases(dat)==F)%>%
select(id)

上の方法だと,結果はデータフレームだけど,下の方法だとid列を引っ張ってくるところまでやるので,これをなにか別の変数(ここではmissIDにしてみる)にいれてあげて,

subset(dat,id != missID)

とかやれば,id列でmissIDに該当しない行だけを抽出してくれる。下書き状態で放置されていたからとりあえず最後まで書いたけど,自分がなんのデータに対してこの手続をしていたのかはもう思い出せないw

データ分析業務ばかりやってるのは楽しいからいいんですけどね。

なにをゆう たむらゆう。

おしまい。

※追記(2017.03.11)

subset(dat,id != missID)

とやってもうまくいかないことがあるようです,というか多分うまくいきません(自分でやってみてダメだったので)。多分ですが原因の1つはmissIDがデータフレーム形式になっている場合。ベクトルになおしてください。もう1つの原因は,subsetなりdplyrのfilterなりで複数の条件を設定する場合に,参照先がベクトル形式の場合には通常の論理演算記号が機能しないことです。多分こちらのほうが大問題。時間が経ってから書いたからかこのことをすっかり忘れていましたすみません。正しくは%in%を使って,

subset(dat, !id %in% missID)

とします。この場合,データフレームの中の参照先の列名の前に!をつけます。これをつけないと「当てはまるもの」を取り出すことになります。

理論に暗示的知識が内包されたときのジレンマ

以前,教育効果を測定する目的で明示的知識と暗示的知識を測定し分けることの是非についてのエントリーを書きました。

https://tam07pb915.wordpress.com/2016/08/25/implicit-explicit-instruction/

そのときの結論は,「教育効果を測定するのに明示・暗示の話は持ち込まなくていいだろう」というものでした。ただ,理論のスコープが暗示的知識を含むととき,そうも簡単にいかない問題がそこにはあるなと最近(といっても書こうと思ってずっと書けてなかったので少し前)思ったので,その話を書きます。きっかけは以下の論文。

Zhang, X., & Lantolf, J. P. (2015). Natural or Artificial: Is the Route of L2 Development Teachable? Language Learning, 65, 152–180. doi:10.1111/lang.12094

ここで取り上げる理論とはいわゆる処理可能性理論(Processability Theory)です。これが理論足りうるかどうかはとりあえず置いてきます。処理可能性理論とは何かということは上記の論文を読んでいただくか,あるいは同じ号に提唱者のPienemannが書いた論文が載っていますのでそちらをお読み下さい。ざっくりいうと,学習者の言語発達は心理的・認知的な処理能力によって規定されていて,ある段階を飛び越えて次の段階に進んだりはしないという理論です。この理論と同じく紹介されるのが教授可能性仮説(Teachability Hypothesis)というものです(注1)。これは,教育的指導介入によって発達段階をスキップすることができず,学習者が今いる段階よりも上のレベル(正確には2レベル以上高いレベル)の言語規則を教授してもそれは習得されることはというものです。Zhang and Lantolf (2015)の論文は,この教授可能性仮説にそぐわないデータが得られたことを報告するというような趣旨の論文です。

こうした言語の発達段階や発達順序に関する研究が主たる関心としているものは,学習者の暗示的知識の発達であると考えられています。つまり,意識的な知識として知っているかどうか,明示的知識を持っているかどうか,ということではなく,暗示的な知識の発達に段階を規定するものです。例えばRod Ellisなんかは,暗示的知識の発達には発達段階による制約があるため,明示的な文法指導介入はそうした発達段階の制約を受けないと考えられる明示的知識の獲得を主たる目的とすべきであるという立場です。明示的知識は間接的に暗示的知識の習得を促す(weak-interface)というのが彼の立場なわけですから,この主張もうなずけます。

問題は,この「発達段階を教育的介入によってスキップできるかどうか」を問題にする場合,暗示的知識の測定が不可欠になってくるわけです。なぜなら,発達段階があるのは暗示的知識であって,明示的知識ではないと考えられているからです。実際,Zhang and Lantolf (2015)でも,guest editorのRod Ellisから「この研究の結果は明示的知識の発達を示しているだけで暗示的知識の発達であるとはいえないんじゃないか?」みたいなツッコミがあったそうです(p.174)。筆者たちの反論は,Pienemannたちが使っているような測定具と発達段階の決定規準(emergence criteria)を使っているのだから,もしこの研究がその点で批判されるのだとしたらそれは処理可能性理論や教授可能性仮説についても当てはまるじゃないかというような反論をしています。

で,一応Pienemann自身は同特集号の論文の中で,まず教授可能性仮説は処理可能性理論に含まれる必須の要素というわけではなく,理論というよりは実践の話で,いくつか研究でサポートされたからまぁプラクティカルにそうなんじゃねーのかみたいにしているだけで処理可能性理論はもっと緻密に作られた理論であるというようなことを言っています。つまり,教授可能性仮説は捨てても処理可能性理論は守られるっていう話なんですね。なんか強がりっぽいこと言ってますけど。でも多分なんですけど,SLA研究者のほとんどは処理可能性理論と教授可能性仮説に関連性あると思っているしむしろ理論の一部か派生かくらいには思ってるんじゃないですかね(実際僕もそう思ってました)?「みんな俺の理論を誤解している」ってそういうことなんでしょうか?百歩譲ってそうだったとしても,測定具の話は処理可能性理論にも及ぶわけなので,そこはちゃんと反論しなくてはいけませんよね。

測定具の話に関してPienemannは,elicited imitationとspontaneous productionを同一視してはいけない。elicited imitationはダメだがspontaneous proudctionは違うんだみたいなことを言っています。これって反論したようで実は全然反論できていなくて,前回も書きましたが,行動データで暗示的知識測定しようとしたらもう「産出データじゃ無理なんじゃね?」っていうのがここ最近の流れです。spontaneous productionってのが「elicited imitationとは違うものを測っている」というのならば,それが測っているものが暗示的知識かどうかも検証されないといけないですよね。でも,実際何が暗示的知識を測っているのかっていう問題の闇は深くて,そんな簡単なことではありません。

処理可能性理論のことを血眼になって研究している人ってこの問題どう考えているんですかね?もちろん,この問題は処理可能性理論についてだけではなくて,「言語発達の制約を受けるのは暗示的知識」という主張をするすべての研究者に当てはまります。この問題ってどうやったら論理的に,あるいは実証的に回避できるのか,有効なアイデアは考えてもパッと思いつきません。熟達度がそれほど高くなく,spontaneous productionで暗示的知識と弁別できないような明示的知識を使えないような学習者ならspontaneous productionでは暗示的知識を測定できるとかでしょうか?実際問題として処理可能性理論が対象にするような学習者は超高熟達度の学習者ではないわけですし。でもあまり有効な反論とはいえないですね。結局はパフォーマンス上に明示的知識の介入がないことを示さないといけないわけですから。うーむ。みなさんどう思います?

なにをゆう たむらゆう。

おしまい。

注1. Pienemannは同じ特集号の論文で,” …theTeachability Hypothesis is not a corollary of PT.” (p. 138)と言っていて,教授可能性仮説はPTの一部ではないようなことを言っています。

2016年の振り返り

11月が終わってもう12月になってしまったのだなと思っていたら12月も終わりです。つまり2016年が終わります。ということで,2016年の振り返りです。

過去の振り返り記事

2016年は色々なことにもがいた年でした。研究面でいえば,初めて国際誌に投稿して,そして初めてリジェクトされました。研究者として生きていくには,これから嫌というほどこういう経験をしなくてはいけないのはわかっていても,やっぱりへこみました。それでも,「そんなに細かいところまで真摯に読んでもらえているのか…」と思わされるようなコメントをたくさんもらうことができたので,査読者の方々に感謝しつつ,現在書き直している最中です(遅い…)。私がメインにしている研究トピックは,国内だと投稿先がかなり限定されてしまう上に,同じような研究をしている人に読んでもらえるかわからないので,基本的には国際誌のどこかに出すようにしようと思います。ほとんど書き終わっている別の原稿も早く投稿しないといけないので,今年度中にこの2本は投稿してしまいたいです。

国際誌に出す経験をして思ったことは,「投稿した」だけで満足しないようにしないといけないことと,その原稿に集中して取り組んでから投稿,そして査読を経て時間が空いてしまっても,またその原稿に真摯に向き合うエネルギーをしっかり持たなくてはいけないということです。

結局,2016年中に投稿して採択された論文はゼロ本となってしまいました。DC2に通って意気込んでいたのに,なかなか結果が出ずに不甲斐ない気持ちもあります。博士論文を先延ばしにして今年1年は他の研究に打ち込んでいたので,それが無駄にならないよう,来年中になんとかしたいです。

非常勤先も今年から新しいところで教えることになり,試行錯誤しながら授業を考えました。昨年度まではかなり自由な環境で授業をやらせてもらっていたこともあり,そのギャップにも少し悩みました。ただ,それでもかなり自分がやりたいこと,大事にしていることを理解してもらっているので,そのあたりはありがたいです。

それから,4月からはいつも一緒に研究していた先輩たちがいなくなってしまい,色々な面で本当に「先輩」らしくいようと努めた,そんな年でした。ゼミで自分が一番上の学年となったので,後輩の良きお手本となるよう,また,ゼミの先生方からも信頼されるDの院生となれるよう,今まで以上に積極的に貢献しようとしました。うまくいっていたのかどうかはわかりません。

というわけで,2016年は色々もがいて,自分にできることとできないことの区別が少しできるようになったかなと思います。

健康面では,2016年は2月に一度熱を出してダウンしましたが,それ以外には基本的にひどく体調を崩すこともなく,持病のヘルニアも悪化することなく過ごすことができました。毎年のように言っていますが,健康第一です。

最後になりましたが,みなさん,今年一年お世話になりました。来年もよろしくお願いいたします。