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

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

 

基礎研第4回年次例会に寄せて

今週土曜日12月17日に,名城大学ナゴヤドーム前キャンパスにて,外国語教育メディア学会(LET)中部支部 外国語教育基礎研究部会第4回年次例会が開催されます。皆様,奮ってご参加ください。

以下に,プログラムに掲載されているあいさつ文を載せておきます。

 

本日は、外国語教育メディア学会中部支部外国語教育基礎研究部会(以下、基礎研)の第4回年次例会にお越しいただき、誠にありがとうございます。

これまで、基礎研の年次例会は毎年2月末に開催されてきましたが、今年度は12月に年次例会を開催する運びとなりました。これは、部会運営の都合によるものです。年末の大変忙しい時期の開催となったことをお許し下さい。また、本年度の例会はジャニーズ事務所所属の嵐のコンサート開催日と重なり、会場周辺の混雑や、宿泊場所の確保が困難となってしまうなど、参加者の皆様には多大なるご迷惑をおかけしていることを重ねてお詫び申し上げます。

本日の会場となっている名城大学ナゴヤドーム前キャンパスは、交通アクセスも良く、また、2016年4月にオープンしたばかりの大変新しい、そして綺麗なキャンパスであります。このような素晴らしい会場を、私ども基礎研の年次例会会場として使用できるようご配慮くださった、名城大学の西尾由里先生に、心より感謝申し上げます。

さて、今年度の例会は、午前中にシンポジウム、午後にはワークショップと自由研究発表、夕方からは基調講演と、盛りだくさんの内容となっています。「若手研究者が考える四技能指導の理論と実験」と題したシンポジウムでは、リーディング、リスニング、スピーキング、ライティングのそれぞれを専門とする新進気鋭の若手研究者をお招きし、英語授業の理論と実践についてお話いただきます。ワークショップでは、講師の草薙邦広先生(広島大学)に話題提供をしていただいた後、今後の外国語教育研究の方向性やアプローチについて、参加者同士で活発な議論が行えればと考えています。自由研究発表枠では、実践報告1本、展望1本の発表があります。今年は、会場を1つの部屋とすることで、参加者全員がすべての発表を聞くことができるようにしました。発表者の方々にとってこの機会が有益なものとなるよう、活発な質疑が行われることを期待しています。夕方の基調講演では、関西大学の竹内理先生をお招きし、外国語学習における動機づけ研究を取り上げ、さまざまな角度からお話いただきます。ご期待ください。なお、本例会のシンポジウムと基調講演につきましては、リアリーイングシッリュ株式会社様のご援助をいただいております。御礼申し上げます。

私ども基礎研も、発足から4 年目を迎えました。発足当初からは運営に携わるメンバーも大きく変わりましたが、それでも週例会と称した勉強会を毎週開催し、こうした年次例会の開催、年度ごとの報告論集の発行を行えていますのも、ひとえに皆様のあたたかいご支援のおかげと、心より御礼申し上げます。皆様のご期待に沿えるよう、これからも邁進してまいりますので、今後とも変わらぬご愛顧を賜りますようお願い申し上げます。

田村祐

外国語教育メディア学会(LET)中部支部 外国語教育基礎研究部会 部会長

名古屋大学大学院生

回帰やろう?

Studies in Second Language Acquisition(SSLA)に,ANOVAじゃなくて回帰やろうぜ?っていう論文が出ていた。著者はL2の効果量の大中小基準作ったったぜ論文で有名なPlonsky and Oswaldだ。

Plonsky, L., & Oswald, F. L. (2016). Multiple regression as a flexible alternative to ANOVA in L2 research. Studies in Second Language Acquisition. Advance Online Publication. doi:10.1017/S0272263116000231

連続データなのにカテゴリカルに無理矢理分けっちゃっちゃーだめよんという指摘は私も半年前くらいにしているのです(実は)↓

田村祐(2016)「外国語教育研究における二値データの分析—ロジスティック回帰を例に—」『外国語教育メディア学会中部支部外国語教育基礎研究部会2015年度報告論集』29–82. [リンク]

私の論文は重回帰やろうよというよりはデータの特性に合わせて一般化線形(混合)モデルを使いましょうよというような提案だったので,SSLAの論文とは若干論点は違うんですけどね。でもまぁ今さら「重回帰やらないと!」とかいう論文がSSLAという一応prestigiousなジャーナルに載っちゃうのっておいおい大丈夫かいなという気がしてしまう。

そんな金曜日の夜。

なにをゆう たむらゆう

おしまい。

タスクは取り入れられない

非常勤先で,「タスク・ベースの活動を取り入れた英語授業」というのをやろうということで色々試行錯誤しています。

そこで,最近ようやく気づいたのですが,「タスクを取り入れた英語授業」はできないなっていうことです。タスクをしっかりやろう,消化不良にならないようにしよう,と考えると,それはもう授業全体をタスク・ベースで構想していかないといけません。

「タスクを取り入れる」といった時,それはほとんどの場合,「これまでに行われていたなんらかのコミュニケーション活動をタスクにする」ということになると思います。しかし,タスクの定義を満たしたコミュニケーション活動を,授業の「仕上げ」あるいは「まとめ」的なところにそのまま配置すると,ほとんどの場合タスクをうまく遂行することができず,結局事前に対話の形式を示したり,入れ替える語彙の選択肢を与えたりしてなんとか活動を終わらせることになってしまうと思います。これはなぜかというと,遂行するタスクを意識したインプットを事前に十分に与えて理解するプロセスを経験させておかないとタスクができないからです。タスクというのはそういうものなのです。

これは現在鋭意改訂中の原稿の中でも書いていることなのですが,「タスク・ベースの英語授業」と「タスクを取り入れた英語授業」の一番の違いは,学習者がタスクを遂行できるようにどのような手立てを取るか,にあると思います。前者では,最終的な目標タスク(現実的場面での目標タスクというわけではなく,教室場面で「達成目標となるタスク」の意味です)を達成できるようにするためにタスクを用います。もちろん目標タスクが学習者に産出をもとめない「理解型タスク」である可能性もありますが,ここでは目標タスクは何らかの言語産出を学習者に求める産出型タスクであるとします。後者では,「取り入れる」という発想を取っているわけですから,通常の授業時間の一部をタスクに割り当てることになります。モジュール型アプローチとも呼べますが,週に1度の英語授業でモジュール制でタスクに取り組ませるとすると,単発で毎週異なるタスクに取り組ませるようなことになってしまいます。今までにやってきたようなバリエーション豊かなコミュニケーション活動の数を減らさなければ,目標タスクに向かってステップバイステップで学習者を導くことは不可能でしょう。もしも通常の授業に関連させてタスクを「取り入れる」のだとすると,ほとんどの場合それはなんらかの目標言語形式があったりします。特に,大学でもfalse beginnerを対象にしていたり,リメディアルと呼ばれるような授業であるほど,教科書も「基礎固め」や「やり直し」と称して中学で習った文法をもう一度教えるようなものが多いです(これ系のリメディアル教材は個人的に99%滅びてほしい)。実際,教材で与えられているインプットを活かしたタスクを作ることにはかなり頭を捻らなくてはなりませんし,基本的に大学用の教科書は1週で1課(または2課)という構成になっているので,同じようなタスクに繰り返し取り組ませる余裕もありません。

一方で,タスク・ベースの授業では,目標タスクで必要となる語彙,文法,表現などを学習者に処理させるような理解型のタスクを最初に用います。そこから,徐々に学習者がそれまでに得たインプットを「借りながら」タスクを遂行できるような産出型のタスクを行います。ポイントは,あくまでどんな表現を使うかの判断は学習者に委ねられていることです。そして,タスク自体を易しくしたり,準備時間を十分に取ったりして難易度が低いかたちのタスクに繰り返し取り組ませ,そこから最終的な目標タスクに取り組みます。これでうまくいかなければ同じタスクにもう一度取り組ませたり,やりとりや発話の性質自体は同じで内容を変えたタスクにもう一度取り組ませたりします。つまり,発話を求めるなんらかのタスクを学習者が達成できるようにすることを考えれば,そこまでにたくさんのインプットを与えなければいけませんし,タスクは一度きりで終わってしまうこともできません。要するに,「取り入れる」なんて言ってられないということです。

タスクだけじゃ一つの授業がもたないし…

と考える人がもし仮にいたとすれば,それはタスクをできるようにさせてあげることがどんなに手間のかかることなのかわかっていません。ポンと投げ込みでいれてワイワイ楽しくやれるというのは,ある程度熟達度が高い学生を対象にしている場合のみで(それでもそんな簡単にいくわけではないと思います),私が今教えているようなレベルの学生(TOEIC Bridgeで100前後)がタスクをやって達成感を得たり,「楽しかった」「できた」と感じることができるようになるのは,そんなに簡単なことではないわけです。

教科書もやらないといけないし…

という人には,「教科書やらなくていいでしょ」と言いたいです。もちろん大学でもそういう状況ばかりではないでしょうけど,初学者向けのタスク・ベースの教科書が少ない(ほとんどないと言ってもいい)以上,教科書なしでどんなタスクができるようになってほしいかを考え,そのタスクができるようになるためにはどんなタスクが必要かを中心に授業を構成していくだけで授業は15回できます。そう考えると,教科書を「メイン」にすることは難しいです。学生に教科書を買わせるからそれを使わないことに罪悪感が生まれるのであって,教科書は買わせなければ良いし,もしどうしても何か持たせたいなら「文法書」を持たせてレファレンスブックとして授業や自習時に参照するように指導するか,辞書を持たせて授業に必ず持ってくるように言うほうが教科書を買わせるよりもよっぽど良いと思います(これはこのブログでも何回か言ってる気がしますけど)。

プリントをファイリングしていけば学習の積み重ねとして最終的にそれが教科書の様になるわけですし,教科書に活動が豊富に掲載されていてもそれに書き込んだものはその都度チェックしにくいです。フィードバックを個別に返すことはできなくても,タスクができたかできなかったか,どのあたりで躓いていてどこにフォローが必要なのかはプリントを見ているだけでもある程度把握でき,それによって授業も臨機応変に変化させられるでしょう。シラバスに沿った授業をしたかどうかをFDでチェックされるから学期中に予定を変更するのがためらわれるという意見も聞いたことがありますが,それって本末転倒でしょう。学生を見ずに立てた予定を守ることに何の意味があるのでしょう。学生にこちらの意図をきちんと説明して予定を変えれば理解されるでしょうし,それをしないことは教師としての怠慢だと私は思います。

話が少し逸れました。教科書があれば教材を作る手間も省けますし,練習問題の答え合わせを授業でやることにすれば一度作ったスライドを教科書を変えない限り使いまわせてとても楽でしょう。ただし,それはタスクにも同じことが言えて,タスクだってある程度蓄積があれば教える学生のレベルや状況に合わせて修正しながら使いまわすことだってできます。目標タスクがあればそこから理解型のタスクを作ることもそんなに難しいことでもありません。中途半端にタスクを「取り入れ」て消化不良になるよりは,タスク・ベースでやったほうが学生にも親切な授業設計になるでしょう。

結論,やっぱり,タスク・ベースでやりましょうよ。そのためにこれまでに扱っていた内容を削り落とさないといけないとすれば,そこは勇気を持って取捨選択しないといけないでしょう。90分×15回の授業でカバーできる範囲はそんなに多くありません。

なにをゆう たむらゆう。

おしまい。