井出草平の研究ノート

カミュ『異邦人』と選択

小説は今の生活では読まなくなっているのだが、久々に小説を読んだので記念にエントリをしておこう。
読んだのは、アルベール・カミュ『異邦人』である。

カミュ自身、この小説を不条理の連作の一つと挙げているようだ。不条理ではあるかもしれないが、いくつかの箇所を除いて不合理ではなく、非常にロジカルな組み立てがされている作品に思えた。一つ一つ挙げていると切りがないので、一つ挙げるとすると、アラビア人を銃殺するシーンの手前辺りにある文章が重要なのではないかと思った。

レエモンがピストルを私に渡すと、陽のひかりがきらりとすべった。それでも、われわれは、一切がわれわれの周りに閉じこめられてでもいるかのように、なおじっと動かずにいた。われわれは眼も伏せずに互いにながめ合った。ここでは、すべてが、海と砂と太陽、笛と水音との二つの静寂との聞に、停止していた。この瞬間、私は、引き金を引くこともできるし、引かないでも済むと考えた。
自分が回れ右をしさえすれば、それで事は終わる、と私は考えたが、太陽の光に打ち震えている砂浜が、私のうしろに、せまっていた。
焼けつくような光に堪えかねて、私は一歩前に踏み出した。私はそれがばかげたことだと知っていたし、一歩体を、うつしたところで、太陽からのがれられないことも、わかっていた。

この小説の解釈は多くされていて専門でもない人間がわざわざ何か書く意味もない気もしないではないが、最も気になった部分はこの箇所である。

選択肢

東浦弘樹さんがこの箇所を分かりやすく解説をしてくれている。

ちなみにこのように選択肢が二つあり、どちらをとるべきか迷ったとき、「どちらでも同じことだ」と考えながら、結果的に悪い方の選択肢を選ぶのは、ムルソーの行動パターンのひとつであるように思えます。第一部第六章でアラブ人に腕を切りつげられて興奮したレエモンからピストルをとりあげ、別荘まで連れ戻した彼は、同じことだ」と考えながら、浜に向かって歩き出し、泉の前でアラブ人と出くわした際には、「ここにとどまるのも、出かけるのも、結局は「自分が後ろを向きさえすればそれですむ」と思い「一歩動いたからといって太陽から逃れることはできない」と思いながら、アラブ人の方へ一歩踏み出すことで、殺人の契機をつくってしまいます。煙草の件はそれに比べるともちろんはるかに些細で無害ですが、パターンとしては同じであると言えるでしょう。(P.46)

キーワードを抜け出すと、選択と倫理(道徳)である。

キェルケゴール『あれか、これか』

選択と倫理から連想するのはキェルケゴール『あれか、これか』である。

ja.wikipedia.org

Wikipediaの解説でだいたい大丈夫だと思う。この作品はAとBという相反する考え方を並列する形で議論を進め、選択と倫理の話はBで登場する。

A: 退屈は空虚感に基づいて発生し、それは人間に「眩暈」を起こすものである。それを避けるために人間は次々と新しい気晴らしを求めて気まぐれに生きる。キルケゴールの見解によるならば、美的生活の行き着く先は絶望に他ならない。
B: 人生において人間は「あれか、これか」の一つを選ぶ必要があるのであり、美的生活に対してそれに矛盾する倫理的生活を選ぶことが主張される。この選択は自由に行うことが可能であり、自由な決断によって倫理的生活の義務と自らの使命を達成する。普遍人間的なものを実現しえない人間は自分自身が個性の限界に達している例外者であることを自覚し、それに相応する内面性を獲得することが示される。

実際のネタは殺人とかではなく、結婚についてであり、結婚に関する倫理・道徳の話である。
人によりけりだろうが、個人的にはキェルケゴールの論理展開があまり正確ではないと考えているので、一言で要約するのはかなり難しい。この本は一般的にはあまり有名ではなかったが、近現代になってアラスデア・マッキンタイアが批判したことによって、再発見されるという経緯があるようだ。僕自身もマッキンタイアを読んでから『あれか、これか』を読んだので、一般的な読書ルートを辿った。

キルケゴールは、このように自分自身をどちらの立場も支持しない者として提示する。なぜなら彼は「A」でも「B」でもないのだから。そしてもし私たちが、彼が提示している立場とは「いずれかの立場を選択することに合理的な根拠はない」、すなわち「〈あれかこれか〉という選択は究極的なものである」という立場であると受け取る場合には、彼はそのことも否定するのである。(pp.50-51) 『あれかこれか』の教義は、〈倫理的な生活様式を描きだす原則は、理由を超えたところで成り立つ選択のためという以外には、何の理由もなく採用されるべきだ〉という趣旨であることは明瞭である。(p.53)

『美徳なき時代』の導入部分はカントからキェルケゴールへの道徳論の流れが比較的わかりやすく整理されており、かつ、キェルケゴールの問題点もしっかりまとめられている、と個人的には思っているのだが、批判はないわけではないので、一応、挙げておこう。

カミュ実存主義

パリ解放後は、実存主義の名のもとにカミュサルトルの名前が並べられることが多くなりますが、カミュはそれに不満だったらしく、一九四五年十一月、「レ・ヌヴェール・リテレール』誌のインタビューの中で、「私は実存主義者ではありません」と言っています。(東浦前出,p39)

本人がどのようにインタビューターに答えていようが、『異邦人』は実存主義的な骨格を持つ小説という認識で問題はないように思う。他の小説は知らないが。

やさしい「無関心」

最終的によくわからないのが「やさしい無関心」という結末に登場する言葉である。

それは、「異邦人』がカミュの心の傷の解消、あるいは克服に寄与しているからではないでしょうか。すでに述べたように、カミュには思春期に受げた大きな心の傷が二つあります。ひとつは、結核で死に顔した際、母親が泣いてそれに反対する叔父と愛人が殴り合いくれなかったこと、もうひとつは、母親が愛人をつくり、の喧嘩をしたことです。『異邦人』ではこの二つの体験がかなり複雑に変形されており、息子が死に顕しているとき母親が泣かなかったことは、母親が死んだときムルソーが泣かないという形で描かれカミュの母親の恋愛はムルソーの母親の「婚約」という形で描かれていますがムルソーは、物語の最後で、この二つの傷を癒しているように思えます。 (東浦前出,p178)

東浦さんの本ではこのあたりで解説されていて、少し前から展開されている精神分析的解釈も含めて、当然理解はできる。精神分析の考え方を知らない人にとっては、よくわからないのではないかと思いつつも、一方で、精神分析でしか説明できないことは、僕も含めて一般読者には分からなくてもいいのではないかとも思う。

衒学的な「レトリック」と位置づけてもいいと僕は思う。

伊藤計劃

『あれか、これか』のロジックを借用したものが、伊藤計劃の小説・映画にあることも連想した。実存主義的な小説で理解するよりも、SFで理解した方が分かりやすいのではないかと思った。 『虐殺器官』の方には以下のような会話がある。

「いいえ、違うわ。遺伝子とかミームとか言うと、それに支配されている、って方向に人は考えがちだけれど。ミームというのは、わたしたちを規定するものではないわ。ミームのほうが、わたしたちの思考に寄生しているんだもの。わたしたちが考え、決断する、そのこと自体にミームは乗って、人から人へ伝達していく。ミームも遺伝子も、自分が犯した罪の免罪符にはならないの。わたしたちが遺伝的に規定され、ミームに影轡されて思考するとしても、良心も罪も、それらの責任にはできない」
「それは違うわ。人は、選択することができるもの。過去とか、遺伝子とか、どんな先行条件があったとしても。人が自由だというのは、みずから選んで自由を捨てることができるからなの。自分のために、誰かのために、してはいけないこと、しなければならないことを選べるからなのよ」
ぼくはルツィアの顔を見つめた。どういうわけか、ものすごく救われたという思いにとらわれた。自分がしてきたことが肯定されたわけじゃない。自分がしてきたことの罪が消えたわけじゃない。
ただ、自分がそれらを選んできたということを、誰かに罪を背負わされたのじゃなく、自ら罪を背負うことを選んだのだ、ということを、ルツィアが教えてくれたからだった。
「ありがとう」ぼくは言った。

この話そのものが選択と倫理の話ではあるので、キェルケゴール的な考え方に伊藤計劃さんは惹かれるものがあったのだろう。

報酬系が調和し、すべての選択に葛藤がなく、あらゆる行動が自明な状態。それが何を意味するか。問われているのは、「わたし」がいまここにいる意味なのだ。 「意識が消滅したのね」


「意識がなくなると、どうなるの。ぼーっとして一日中椅子に座っているわけ」
「いいや、買い物、食事、娯楽、すべてが自明に選び取られる、ただそれだけだ。選択を必要とするか自明であるか、それだけなんだ、意識の動かす世界と意識のない世界を分かつものは。人間はね、意識や意志がなくともその生存にはまったく問題ないんだよ。皆は普段通りに生活し、人は生まれ、老い、死んでいくだろう。ただ、意識だけが欠落したそのままで。意識と文化はあまり関係がないんだよ。外面上は、その人間に意識があるか、意識があるかのように振る舞っているかは、全く見分けがつかない。ただ、社会と完璧なハーモニーを描くよう価値体系が設定されているため、自殺は大幅に減り、この生府社会が抱えていたストレスは完全に消滅する」
ミァハたちは、実験でそれを経験したのだ。意識が消滅するというその状態を。


生への執着を上回るほどに、現在時間軸において選択されるに足る高い価値評価を死に与える。死への欲求はどれほど微かなものであれ、誰しもが抱いているものだ。ただ、それ以上に生きていることへの執着が当たり前になっているに過ぎない。急激に死が魅力的に、選択すべき行動に見えた人々には、その不当な価値評価を回避する術はなかった。


調和を描く脳は、一切の迷いを排した、いや、廃した人間だ。 迷いがなければ、選択もない。選択がなければ、すべてはそう在るだけだ。 その風景は、いままでの風景とまったく代わり映えしないものであることも判っている。人間の意識がこれまでも大したことをしてこなかった以上、それが無くなったところで何が変わるというわけでもあるまい。 昨日と同じように、人は買い物に行くだろう。 昨日と同じように、人は仕事場に行くだろう。 昨日と同じように笑うだろう。 昨日と同じように泣くだろう。 単純に自明な反応として。単にそうするべきだからそうするものとして。

こちらは選択と倫理ではなく、選択と存在へと理論が拡大されている。西洋哲学での存在論ではないが、日々の出来事・行動が同じようなものになってしまうと、自動機械のようになる、というのは身につまされる話である。歳をとってきてから日々が早く感じる、という原因はまさしくこれである。また、選択は葛藤やストレス共にあり、ストレスのない世界を作り出すと、意識が消滅する、というモチーフは、よくよく考えると興味深い。

無料で使える日程調整ツール

無料で使える日程調整ツールのまとめ。

調整さん

chouseisan.com

サインアップをしておくと自分の立てた過去のイベントも閲覧可能になるので便利かも。
スマホでの入力にもレイアウトが対応している。

伝助

www.densuke.biz

調整さんほど有名ではないものの、使われることがあるツール。
スマホでの使用には一番向いている。ただ、スケジュール合わせの表記を読み取るのに多少慣れが必要かもしれない。

NeedToMeet

f:id:iDES:20211006135305j:plain

https://www.needtomeet.com/

英語で提供されているサービス。
パソコンなど画面の広いデバイスであれば、作成も入力も結果閲覧も一番分かりやすく、簡単。
ただし、スマホへのレイアウト対応がよろしくないのが、残念ポイント。

デイコード

character-sheets.appspot.com

Discordユーザーにはお馴染みの日程調整ツールらしい。

Discordを使っていなくても、デイコードは単体で使える。

kg-masashige.fanbox.cc

ただ、使ってみようとしたところアクセストークンのところでつまづいて改善できず、結局、使えていないので、感想は「わからない」のままなのだが、一番便利らしい。使える方はデイコードを使うのが良いのではないだろうか。

www.fenet.jp

ブルデュー『ディスタンクシオン』と車 その1

読書会で何かよくわからないが盛り上がったのがブルデューディスタンクシオン』と車の話。

車に詳しいので盛り上がったのではなく、誰も詳しくなかったので「なるほど、よくわからん!」となってずるずると何回も引きずってしまったので、逆に盛り上がったという話題である。

メンバーの一人が調べてくれたので、一区切りは付いたものの、個人的に再燃する機会があり、また燃えてしまったので、ブログにまとめておこうと思う。

ディスタンクシオン』と車の話というと重要そうな話にも見えるが、『ディスタンクシオン』を読んだ大半の人は忘れている些末なことだと思う。どこに出てくるかというと旧版191ページの後に見開きで色の違う紙が挟まっているところである。下記の4象限の図が書かれてある。内容は様々な文化表象が書かれており、その中にいくつかの車種名が書かれてあるのだ。

f:id:iDES:20210926135949p:plain f:id:iDES:20210926140000p:plain

プジョー504

ja.wikipedia.org fr.wikipedia.org

1968から1996まで生産されていた息の長い車種。南米とアフリカで長い間続けられ、2005年まで生産されていたらしい。1969年にヨーロッパカーオブザイヤーを受賞している。

ディスタンクシオンでは経済資本+、文化資本-のところに位置付けられている。

f:id:iDES:20090817092806j:plain プジョー504

f:id:iDES:20210926140112j:plain プジョー504クーペファーストシリーズ

f:id:iDES:19990808171321j:plain プジョー504クーペセカンドシリーズ 1978年

f:id:iDES:20210926140150j:plain 504カブリオレ

シトロエンDS

ja.wikipedia.org fr.wikipedia.org

ディスタンクシオンではプジョー504と同じところに位置づけられている。

f:id:iDES:20210926140239j:plain シトロエン・DS(1974)

後輪が車体の中にあるのが今の車と大きく違う所。また、駐車時には車高が下がるようだ。

シトロエンDS/IDはシャルル・ド・ゴールは、DSの愛用者の一人であったそうだ。DSとIDはデザインのディテールが微妙に違うらしく、計器類が少なく、馬力がIDの方が少ないといった違いがあるそうだが、ここでは一括してDSということにしておこう。ド・ゴールが右派軍事組織「OAS」に襲撃された時にもDSに乗っていたらしい。これは映画「ジャッカルの日」にも描かれているとWikipediaに書かれているので、確かめたところ確かにDSに乗っていたし、「ジャッカルの日」には黒塗りのDSが多く出てくる。

f:id:iDES:20210926140251j:plain 映画「ジャッカルの日」。アバンタイトル。襲撃前、大統領が乗るシーン。

f:id:iDES:20210926140309j:plain 映画「ジャッカルの日」クライマックス、大統領が車から降りるシーン。

シャルル・ド・ゴール大統領お気に入りの車を『ディスタンクシオン』では経済資本+、文化資本-を評している。大統領専用車をこんな扱いにしていいのか、という気もしないでもないが、「本国フランスではタクシーや救急車などの特装車にも酷使されるような、ありふれた量販車種であった。」とwikipediaには書いてあるので、量産車であったのは間違いなさそうだ。

現在の日本だと、トヨタのセンチュリーなどの高級車があるが、当時のフランスにはそういった車がなかったともいえるだろう。とにかく車種が少ないようなのだ(車好きではないので間違えているかも)。

シトロエンGS

ja.wikipedia.org fr.wikipedia.org

f:id:iDES:19990914182152j:plain

1970年から1986年まで生産された車で、DSとは違い小型乗用車である。基本的には4気筒で、DSの縮小、簡略化版という位置づけである。1971年にヨーロッパカーオブザイヤー。ファミリーカーという位置づけだろう。その後、セダン、ステーションワゴンと進化している。

ディスタンクシオン』の中ではシトロエンDS GSと一緒くたに扱われているのでブルデューの中では同じものとして扱われている。ただ、個人的には、DSよりも明らかにコンパクトで一般家庭にあっても馴染む車なので、DSとGSは違う気がしている。「ちょっとブルデュー雑じゃないですか?」と思っているところ。

ルノー16

ja.wikipedia.org fr.wikipedia.org

f:id:iDES:20051016111520j:plain

前輪駆動の中型ファミリーカーで当時としては珍しい5ドアハッチバックスタイルだったらしい。1965年から1980年まで製造された。1966年ヨーロッパ・カー・オブ・ザ・イヤー

ディスタンクシオン』ではほぼ真ん中に位置し、やや経済資本-、文化資本+寄りに書かれてある。

売価がシトロエンDSやGSよりも価格が安かったのだろうし、国民に車を普及させようというる意図を感じる。5ドアハッチバックスタイルというのも、実用的である。デザインもワーク・ミリタリー寄りのように感じるので、キャンプには向いているが、高級レストランにこの車で行くのは無理だろう(車での表現がわからないのでファッション用語で表現をしてみた)。

シトロエン 2CV

ja.wikipedia.org

fr.wikipedia.org

f:id:iDES:20210926140507j:plain

シトロエンが1948年に発表した車で前輪駆動方式である。時期としては戦後すぐであるが、1990年まで50年以上に作られていた。大ヒット車である。累計511万台あまりを売り上げ、生産量はフランス車の中では歴代8位である。

この車は『ルパン三世 カリオストロの城』の冒頭でクラリスが逃げる際の車として有名である。

f:id:iDES:20210926140535j:plain

2CVが採用されたのは監督の宮崎駿の愛車が2CVだったためである。ルパンたちが乗っているのはフィアット(イタリア)のチンクエ・チェントだが、こちれは作画監督大塚康生が乗っていた車だったから。おそらく、かなり有名な話である。

f:id:iDES:20210926140522j:plain

さらなる余談だがNetflixのオリジナルシリーズのLupinでもカリオストロの城に登場したフィアットの旧型のチンクエ・チェントが登場している(シーズン2最終話)。

f:id:iDES:20210926140546j:plain

宮崎駿リスペクトを忘れていないところはすばらしい。

ちなみに最近のチンクエチェントは下記のようなデザインになっている。 f:id:iDES:20210926141614j:plain 2007年モデル

イタリア車の話になってしまったので少しだけ話を戻すと、「2CV」はフランス語で「2馬力」を意味する。日本でもシトロエン2CVを「二馬力」と呼ぶことがあった。

ja.wikipedia.org

株式会社二馬力(にばりき)は、かつて存在した宮崎駿1984年4月に設立した個人事務所および2004年に前者を吸収合併した1997年創立の東京都武蔵野市御殿山に本店を置く日本の企業。主に著作権関連の管理を行う。
概要
社名の由来は、宮崎の長年の愛車であったシトロエン2CVの愛称から。当初は宮崎駿ジブリを離れ、年寄連中を集めて好き勝手に動画を作るのが目的だったという。
スタジオぴえろを辞めてフリーになった押井守が一時期、居候していたことがある。

ジブリ関係のものを見ていると「二馬力」と書いてあるものをよく見かけたはずである。

2CVは『ディスタンクシオン』では経済資本-、文化資本+となっている。1948年から発売が始まって、『ディスタンクシオン』の発表が1979年である。79年当時では、すでに時代遅れの車になっていたはずである。とはいえ、2CVは50年以上作られてきたファンの多い車でもあり、79年の段階でもこだわりがある人が乗っている車だったのかもしれない。

その1はここまで。

ANOVA その8 問題集

実際にやってみたところこの問題集の出来が良くないことが発覚したので注意

次の質問では、yarrrパッケージのpiratesデータフレームを使用する。

  1. 海賊の好きなpixar映画とタトゥーの数には有意な関係があるか?
    fav.pixarを独立変数、tattoosを従属変数として、適切なANOVAを実施する。有意な関係がある場合は、独立変数のどのレベルが異なるかを決定するために、事後検定を行う。

  2. 好きな海賊とタトゥーの数には有意な関係があるか?favorite.pirateを独立変数、tattoosを従属変数として、適切なANOVAを実施する。有意な関係があれば、独立変数のどのレベルが異なるかを決定するために、事後検定を行う。

  3. 次に、前の2つの質問の分析を繰り返すが、ANOVAに独立変数fav.pixarとfavorite.piratesの両方を含める。両方の変数を含めると、結論は異なるか?

  4. 最後に「fav.pixar」と「favorite.pirate」の間に、タトゥーの数に対する交互作用があるかどうかを検証する。

www.rdocumentation.org

フォーマット
1,000行、14列のデータフレーム
ID
海賊のID番号を示す整数
sex
自分で申告した海賊の性別を示す文字列
age
海賊の年齢を示す整数。
height
身長をcmで表す
weight
体重kg
headband
海賊がヘッドバンドを着用しているかどうかを示すバイナリ変数
college
海賊の出身大学を示す文字列。JSSFPはJack Sparro's School of Fashion and Piratery、CCCCCはCaptain Chunk's Cannon Crewの略。
tattoos
タトゥーの数を示す整数。
tchests
その海賊が見つけた宝箱の数を示す整数
parrots
その海賊が一生の間に飼ったオウムの数を示す整数
favorite.pirate
その海賊のお気に入りの海賊を示す文字列
sword.type
海賊が使用している剣の種類を示す文字列
eyepatch
その海賊がつけているアイパッチの数を示す整数
sword.time
海賊が剣を抜くのにかかる時間(秒)を表す数値。小さい方が良い。
beard.length
海賊のあごひげの長さを表す数値(単位:cm)
fav.pixar
海賊の好きなピクサー映画を示す文字列
grogg
海賊が一日に平均してマグカップ何杯分のグロッグを飲んでいるか。

ANOVA その7 ANOVAオブジェクトからの追加情報の取得

こちらの続き。

ides.hatenablog.com

bookdown.org

ANOVAオブジェクトからは、多くの興味深い情報を得ることができる。1つに保存されているすべてを見るには、ANOVAオブジェクト上でコマンドを実行する。

二元配置分散分析(Two-way ANOVA)のデータをもう少し掘っていく。まずはTwo-way ANOVAのデータを作ろう。
詳しくはこちらから。

ides.hatenablog.com

「交互作用を考慮したANOVA」のところのデータ。

library(yarrr)
cleaner.type.aov <- aov(formula = time ~ cleaner + type,
                        data = poopdeck)
cleaner.type.int.aov <- aov(formula = time ~ cleaner * type,
                          data = poopdeck)

オプション

names(cleaner.type.int.aov)

出力。

 [1] "coefficients"  "residuals"     "effects"       "rank"          "fitted.values" "assign"        "qr"            "df.residual"   "contrasts"    
[10] "xlevels"       "call"          "terms"         "model"   

例えば、"fitted.values "には、データセットのすべての観測データに対する従属変数(時間)のモデルフィットが含まれています。これらのフィット値は、 $ operatorと代入によってデータセットに戻すことができます。例えば、相互作用モデル(cleaner.type.aov)と非相互作用モデル(cleaner.type.int.aov)の両方からモデルのフィット値を取得し、データフレームの新しい列に割り当ててみよう。

相互作用モデルのフィット値をint.fitとしてデータフレームに追加する

poopdeck$int.fit <- cleaner.type.int.aov$fitted.values

主効果モデルのフィットをme.fitとしてデータフレームに追加する

poopdeck$me.fit <- cleaner.type.aov$fitted.values

それでは、表の最初の数行を見て、最初の数個の観測値の適合性を見よう。

head(poopdeck)

データ行頭。

  day cleaner   type time
1   1       a parrot   47
2   1       b parrot   55
3   1       c parrot   64
4   1       a  shark  101
5   1       b  shark   76
6   1       c  shark   63

このフィットを使って、モデルがデータにどれだけフィットしたか(あるいはフィットしなかったか)を確認することができる。例えば、各モデルの適合度が真のデータからどれだけ離れているかを、次のように計算することができる。

相互作用モデルのフィットは、平均してどのくらいデータから離れていたか?

mean(abs(poopdeck$int.fit - poopdeck$time))

[1]15.35173

主効果モデルのフィットは、平均してどのくらいデータから離れていたか?

mean(abs(poopdeck$me.fit - poopdeck$time))

[1] 16.5351

、交互作用モデルは平均で15.35分、主効果モデルは平均で16.54分、データから外れている。交互作用モデルは主効果のみのモデルよりも複雑なので、これは驚くことではありません。しかし、交互作用モデルの方がデータへの適合性が高いからといって、必ずしも交互作用に意味があり、信頼できるとは限らない。

ANOVA その6 Type I, Type II, and Type III ANOVA

こちらの続き。

ides.hatenablog.com

bookdown.org

ANOVAには、タイプ1、2、3(またはタイプI、II、III)と呼ばれる3つの異なるタイプがある。これらのタイプは、分散(特に二乗和)の計算方法が異なる。データが比較的バランスのとれたもの、つまり各グループに比較的同数の観測がある場合は、3つのタイプすべてが同じ答えを出す。しかし、データが不均衡で、一部のグループに他のグループよりも多くの観測がある場合は、タイプII(2)またはタイプIII(3)を使用する必要がある。

Rのベースプログラムの標準的なaov()関数は、Type Iの二乗和を使用する。そのため、データが均衡している場合にのみ適している。データが不均衡な場合は、タイプIIまたはタイプIIIの二乗和を用いてANOVAを行うべきである。これを行うには、carパッケージのAnova()関数を使用する。Anova()関数にはtypeという引数があり、計算したいANOVAのタイプを指定することができる。

次のコードチャンクでは、3つの異なるタイプを使って、poopdeckデータから3つの別々のANOVAを計算する。まずlm()で回帰オブジェクトを作成する。Anova()関数では、数式やデータセットではなく、回帰オブジェクトを主な引数として入力する必要がある。つまり、まず lm() (またはglm()) でデータから回帰オブジェクトを作成し、そのオブジェクトをAnova()関数に入力する必要があめ。同じことを標準のaov()関数でもすることができる。

回帰オブジェクトの作成

time.lm <- lm(formula = time ~ type + cleaner,
              data = poopdeck)

回帰オブジェクトtime.lmを作成したので、このオブジェクトをaov()に入力してType I ANOVA を、carパッケージのAnova()に入力して Type II または Type III ANOVA を行うことで、3 種類の異なる ANOVA を計算することができる。

library(car)
# Type I ANOVA - aov()
time.I.aov <- aov(time.lm)

# Type II ANOVA - Anova(type = 2)
time.II.aov <- car::Anova(time.lm, type = 2)

# Type III ANOVA - Anova(type = 3)
time.III.aov <- car::Anova(time.lm, type = 3)

たまたま、poopdeckのデータフレームのデータは完全にバランスがとれている(従って各ANOVAタイプで全く同じ結果が得られます。しかし、もしバランスが取れていなかったら、aov()関数で計算したType I ANOVAを使うべきではない。

データがバランスされているかどうかを確認するには、関数を使う。

with(poopdeck,
     table(cleaner, type))

結果。

       type
cleaner parrot shark
      a    100   100
      b    100   100
      c    100   100

このようにpoopdeckのデータでは、観測値は完全にバランスがとれているので、データを分析するのにどのタイプのANOVAを使っても問題はない。

ANOVA その5 二元配置分散分析(Two-way ANOVA)

こちらの続き。

ides.hatenablog.com

bookdown.org

二元配置のANOVAを行うには、回帰モデルの式に+印で追加の独立変数を入れるだけであるこれだけです。すべてのステップは同じだ。。クリーナーとタイプの両方を独立変数とした二元配置のANOVAを行ってみよう。これを行うために、 formula = time ~ cleaner + type とする。

library(yarrr)
head(poopdeck)

データはこちら

  day cleaner   type time
1   1       a parrot   47
2   1       b parrot   55
3   1       c parrot   64
4   1       a  shark  101
5   1       b  shark   76
6   1       c  shark   63

One-way ANOVA

cleaner.aov <- aov(formula = time ~ cleaner,
                   data = poopdeck)

Two-way ANOVA

cleaner.type.aov <- aov(formula = time ~ cleaner + type,
                        data = poopdeck)
summary(cleaner.type.aov)

結果。

             Df Sum Sq Mean Sq F value  Pr(>F)    
cleaner       2   6057    3028   6.945 0.00104 ** 
type          1  81620   81620 187.177 < 2e-16 ***
Residuals   596 259891     436                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

両方の独立変数が有意であることがわかった。

事後検定

TukeyHSD(cleaner.type.aov)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = time ~ cleaner + type, data = poopdeck)

$cleaner
     diff        lwr       upr     p adj
b-a -0.42  -5.326395  4.486395 0.9779465
c-a -6.94 -11.846395 -2.033605 0.0027112
c-b -6.52 -11.426395 -1.613605 0.0053376

$type
                 diff      lwr      upr p adj
shark-parrot 23.32667 19.97811 26.67522     0

クリーナーbとクリーナーaの間は有意ではなかった。その他の比較はすべて有意だった。

回帰分析

cleaner.type.lm <- lm(formula = time ~ cleaner + type,
                      data = poopdeck)
summary(cleaner.type.lm)
Call:
lm(formula = time ~ cleaner + type, data = poopdeck)

Residuals:
    Min      1Q  Median      3Q     Max 
-59.743 -13.792  -0.683  13.583  83.583 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   54.357      1.705  31.881  < 2e-16 ***
cleanerb      -0.420      2.088  -0.201 0.840665    
cleanerc      -6.940      2.088  -3.323 0.000944 ***
typeshark     23.327      1.705  13.681  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 20.88 on 596 degrees of freedom
Multiple R-squared:  0.2523,    Adjusted R-squared:  0.2485 
F-statistic: 67.02 on 3 and 596 DF,  p-value: < 2.2e-16

ここで、2つのデフォルト値(ここでは、cleaner = a and type = parrot)に関して、結果を解釈する必要がある。 切片は、オウムのウンチを掃除するクリーナーaの平均時間が54.36分だったことを意味している。さらに、サメのウンチを掃除するときの平均時間は、オウムのウンチを掃除するときよりも23.33分遅くなった。

交互作用を考慮したANOVA

変数間の交互作用は,ある変数の効果が他の変数に依存するかどうかを検証するものである。例えば、相互作用を使って次の質問に答えることができる。クリーナーの効果は、洗浄に使われるウンチの種類に依存するか? ANOVAに交互作用項を含めるには、式の中で項の間にプラス(+)を入れる代わりにアスタリスク(*)を使うだけである。回帰オブジェクトに交互作用項を含めると、Rは自動的に主効果も含めることに注意。

2つの独立変数を持つ前のANOVAを繰り返すが、今度はクリーナーとタイプの間の交互作用を含める。これを行うために、式をtime ~ cleaner * typeに設定する。

cleaner.type.int.aov <- aov(formula = time ~ cleaner * type,
                          data = poopdeck)
summary(cleaner.type.int.aov)

結果。

              Df Sum Sq Mean Sq F value   Pr(>F)    
cleaner        2   6057    3028   7.824 0.000443 ***
type           1  81620   81620 210.863  < 2e-16 ***
cleaner:type   2  29968   14984  38.710  < 2e-16 ***
Residuals    594 229923     387                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

クリーナーとタイプの間には、確かに有意な相互作用があることがわかった。つまり、クリーナーの効果は、適用されるウンチの種類によって異なるということです。これは、章の最初に行ったデータのプロットからも納得できる。

この違いの本質を理解するために、回帰オブジェクトから回帰係数を見てみよう。

cleaner.type.int.lm <- lm(formula = time ~ cleaner * type,
                          data = poopdeck)

summary(cleaner.type.int.lm)

結果。

Call:
lm(formula = time ~ cleaner * type, data = poopdeck)

Residuals:
   Min     1Q Median     3Q    Max 
-54.28 -12.83  -0.08  12.29  74.87 

Coefficients:
                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)          45.760      1.967  23.259  < 2e-16 ***
cleanerb              8.060      2.782   2.897 0.003908 ** 
cleanerc             10.370      2.782   3.727 0.000212 ***
typeshark            40.520      2.782  14.563  < 2e-16 ***
cleanerb:typeshark  -16.960      3.935  -4.310 1.91e-05 ***
cleanerc:typeshark  -34.620      3.935  -8.798  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 19.67 on 594 degrees of freedom
Multiple R-squared:  0.3385,    Adjusted R-squared:  0.3329 
F-statistic: 60.79 on 5 and 594 DF,  p-value: < 2.2e-16

繰り返しになるが、この表を解釈するには、まずデフォルト値が何であるかを知る必要がある。これは、表に「欠けている」係数からわかります。cleaneraやtypeparrotの項が見当たらないので、cleaner = "a "とtype = "parrot "がデフォルトであることを意味している。ここでも、係数をレベルとデフォルトとの差として解釈することができます。オウムのウンチの場合、クリーナーbとcの両方が、クリーナーa(デフォルト)よりも時間がかかるようだ。さらに、サメのウンチはオウムのウンチよりも掃除に時間がかかる傾向がある(typesharkの推定値は正)。

交互作用項は、サメのウンチを掃除しているときに、掃除の効果がどのように変化するかを示しています。cleanerb:typesharkの負の推定値(-16.96)は、オウムのウンチと比較して、サメのウンチを掃除する場合、平均して16.96分、清掃員bの方が速いことを意味している。クリーナーbの前回の推定値(オウムのウンチ)は8.06だったので、クリーナーbはオウムのウンチではクリーナーaよりも遅いが、サメのウンチではクリーナーaよりも速いことを示唆している。同じことがクリーナーcにも当てはまり、どちらの方向にも強い効果があることがわかる。