LET関西支部メソドロジー研究部会2018年度第1回研究会にて行ったR入門者講習のスライドです。
Rೖͷೖ20186݄2LETؔࢧ෦ϝιυϩδʔݚڀ෦ձ2018ୈ1ճݚڀձԙɹؔେֶઍཬࢁΩϟϯύε
View Slide
͡Ίʹ• ຊτϥϒϧଟൃଳͱࢥΘΕΔͱ͜ΖʹՌʹΉαϑΝϦπΞʔͱͳ͍ͬͯ·͢• ͨͩ͠ਅͷRॳ৺ऀͷํͰ৺ͳ͞Βͣʹ• ͜ͷڭࣨͷҎ্RͰ͖ΔਓͰ͢• पΓʹ͍Δ༏͍͠Φτφͷํ͕ͨͪࠔͬͨΒॿ͚ͯ͘Ε·͢• Λ߹ΘͤΑ͏ͱ͠ͳ͍ਓ΄Ͳॿ͚͕ͨΓͰ͢• ࣸਅࡱӨ͝ԕྀͳ͞Βͳ͍Ͱ͍ͩ͘͞
͡Ίʹʢ͖ͭͮʣ• ຊͷWSͷఆडߨऀ• Rʹ·ͬͨ͘৮ͬͨ͜ͱ͕ͳ͍ਓ• RΛ৮ͬͨ͜ͱ͋Δ͚ͲɼΕͨਓ• ຊͷWSͷΰʔϧ• Rʹ͍ͭͯͷجຊతͳࣝΛಘΔʢࣝʣ• RͰؔͳͲ͍ͭͭجຊతͳܭࢉ͕Ͱ͖Δʢٕೳʣ• RͰ؆୯ͳ࡞ਤ͕Ͱ͖Δʢٕೳʣ• ࢥߟɾஅɾදݱͷ؍ʹ͍ͭͯsomeday in the future
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ4
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ5
• ओʹ౷ܭղੳతͰ͍ͬͯΔਓଟ• ͳͷͰຊͷ͓౷ܭղੳʹͭͳ͕Δ͓• ͍ΘΏΔʮ౷ܭιϑτʯͱࢥ͍ͬͯͩ͘͞• จॻ࡞࠷ۙͷྲྀߦΓ• ແྉ͔ͭΦʔϓϯιʔε• ແྉͰ୭Ͱ͑Δ• ֦ுੑߴ͍ʢύοέʔδ͕͍ͬͺ͍ʣRͬͯͳΜͶΜ6Rϓϩάϥϛϯάݴޠ
ా ଜɹ༞ؔ େ ֶ7
• ໊લɿాଜ༞ʢͨΉΒΏ͏ʣ• ॴଐɿؔେֶ֎ࠃޠֶ෦• ઐɿୈೋݴޠशಘɼ৺ཧݴޠֶ• Rྺɿ͓ͦΒ͘6͘Β͍• SapporoRͱ͍͏ࡳຈʹߦ͖͍ͨΦτφͷͨΊͷΠϕϯτͷୈ1ճͷͱ͖ʹॳΊͯ৮ͬͨ• ※ͨͩ͠ࢲΞϝϦΧʹ͍·ͨ͠ಥવͷ8ࣗݾհ
• RͳΒͳΜͰͰ͖ΔͱݴͬͯաݴͰͳ͍• ΈΜͳ͕RΛ͍ͬͯΔ͔Β• RͷڭՊॻΠϯλʔωοτͱݴ͍͍ͬͯ• Θ͔Βͳͯ͘ΜͰΔਓҰਓ͡Όͳ͍͠ɼॿ͚ͯ͘ΕΔਓͨ͘͞Μ͍Δ• ࠶ݱͱڞ༗͕༰қ• ಉ͡σʔλͱಉ͡εΫϦϓτ͕͋Εੳ݁Ռ͕࠶ݱՄೳ• εΫϦϓτͱͯ͢͜͠ͱͰɼੳσʔλͷՄࢹԽͳͲ͕͍ͭͰͲ͜Ͱ୭ͱͰRͬͯͳΜͶΜ9ͳͥRΛΕͱݴΘΕΔ͔
• ύιίϯ͕ۤख• RStudio͑ͳΜͱ͔ͳΔͷͰͱ• σΟϨΫτϦͱ͔۠Γจࣈͱ͔͘Β͍Θ͔͍ͬͯΕ͍͍ͷͰ• ίϚϯυΛଧͪࠐΉͱ͍͏ͷ͕ۤख• ϙνϙνͰ࠶ݱڞ༗Ͱ͖ͳͯ͘ࠔΔ…• ࣗͰߟ͑ͯଧͭ͜ͱ͋Δ͕ɼجຊతʹʮ୭͔ͷਅࣅʯΛ͢Εे• ӳޠ͕ۤख• ͱΓ͋͑ͣɼ௲ΓͷޡΓʹର͢Δawareness͚͍͖ͩ͋͛ͯ·͠ΐ͏• ຊޠࢿྉ͚ͩͰ͑ΔΑ͏ʹͳΔͱࢥ͍·͕͢RͬͯͳΜͶΜ10RίϫΠίϫΠපͷݪҼ
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ11
• RStudioͱ• RΛ͍͘͢͢ΔͨΊͷιϑτ• Rͱಉ༷ʹແঈ• ͳͥRStudioʁ• https://speakerdeck.com/tam07pb915/nagoyar17• ॳ৺ऀɼʮੳʯͱ͔Ҏલͷͱ͜ΖͰͭ·͖͕ͮͪ…• ͦͷͭ·͖ͮͲ͜Ζʹ༏͘͠खΛͯ͋ͬͨ͠Γɼ࡞ۀޮ͕͕͋ΔΑ͏ͳػೳΛඋͯ͋͠ΔRStudioͬͯͷ͕͋ΜͶΜ12ॳ৺ऀͦ͜RStudioΛ
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ13
1. ݕࡧΤϯδϯͰʮr projectʯͱೖྗ͢Δ͔ɼhttp://www.r-project.org2. download RΛΫϦοΫʢจষதʹ͋Γ·͢ʣ3. ਖ਼Ͳ͜Ͱ͍͍ΜͰ͕͢ɼಛʹཧ༝͕ͳ͚ΕJapan͔Β1ͭબʢͲ͜ͰOKʣ4. ࣗͷύιίϯͷOSΛΫϦοΫ1. MacͳΒ.pkgͱ͍͍ͭͯΔͷͰɼWindowsinstall R for the first timeΛΫϦοΫͯ͠.exeͷ࣮ߦϑΝΠϧ2. όʔδϣϯͱΓ͋͑ͣ࠷৽൛Ͱ5. ͋ͱμϯϩʔυͨ͠ϑΝΠϧΛμϒϧΫϦοΫͰ։͍ͯɼࢦࣔʹ͕ͨͬͯ͠ਐΊΔ͚ͩ6. ಛʹԿ͢Δඞཁͳ͘ɼʮ࣍ʯΛԡ͚ͩ͢ͰΑ͍·ͣΠϯετʔϧ14RΛ͍ΕͯΈ·͠ΐ͏
ՋΛ࣋ͯ༨ͨ͠ํ• ࠓΠϯετʔϧͨ͠RΛΞϯΠϯετʔϧͯ͠ɼ͏Ұಉ͡खॱͰRΛΠϯετʔϧͰ͖Δ͔ͬͯΈ·͠ΐ͏
• Ξοϓσʔτ͍ͨ͠߹࠶৽͍͠ͷΛΠϯετʔϧ• ৽͍͠όʔδϣϯͩͱɼΑ͘͏ύοέʔδ͕ରԠ͍ͯ͠ͳ͍ͳͲͷ߹͕͋Δ• RͷόʔδϣϯͱύοέʔδͷόʔδϣϯΛཁ֬ೝʢࠓճͷߨशͰؾʹ͠ͳͯ͘େৎͰ͢• Windows OSͷΑ͏ʹৗʹߋ৽ߋ৽ͱ͔͢Δඞཁͳ͍·ͣΠϯετʔϧ20Rͷόʔδϣϯʹ͍ͭͯ
• Windows• ελʔτ->ϓϩάϥϜ-> R• σϑΥϧτͷΠϯετʔϧઃఆͰσεΫτοϓʹγϣʔτΧοτΛ࡞ΔͷͰ͔ͦ͜ΒͰOK• i386 -> 32Ϗοτ൛• x64 -> 64Ϗοτ൛• ίϯτϩʔϧύωϧ->γεςϜͱηΩϡϦςΟ->γεςϜͰϏοτͷ֬ೝ͕Մೳ• Mac• Application -> R.app• Launchpad -> RͷΞΠίϯΛΫϦοΫ·ͣΠϯετʔϧ23Rͷىಈͱऴྃ
• ͳΜ͔͍Ζ͍Ζॻ͍ͯ͋ͬͯͱΓ͋͑ͣɼʮ>ʯ͕Ұ൪Լʹग़͍ͯΕOK• RΛऴྃͤ͞Δͱ͖• ଞͷΞϓϦέʔγϣϯͱಉ༷ʹɼʮด͡ΔʯϘλϯ• >ʹଓ͚ͯq()ͱೖྗ• ʮ࡞ۀεϖʔε(workspace imageʣΛอଘ͠·͔͢ʁʯͱฉ͔ΕΔ-> ࠓʮ͍͍͑ʯ·ͣΠϯετʔϧ24Rͷىಈͱऴྃ
1. ݕࡧΤϯδϯͰʮr studioʯͱೖྗ͢Δ͔ɼhttps://www.rstudio.com2. Download RStudioΛΫϦοΫ3. RStudio DesktopͷDownloadΛΫϦοΫ4. ࣗͷύιίϯͷOSʹ͋ͬͨΠϯετʔϥʔΛΫϦοΫ5. ͋ͱμϯϩʔυͨ͠ϑΝΠϧΛμϒϧΫϦοΫͰ։͍ͯɼࢦࣔʹ͕ͨͬͯ͠ਐΊΔ͚ͩ6. ಛʹԿ͢Δඞཁͳ͘ɼʮ࣍ʯΛԡ͚ͩ͢ͰΑ͍·ͣΠϯετʔϧ25RStudioΛ͍ΕͯΈ·͠ΐ͏
ίϯιʔϧมͷ֬ೝΧϨϯτσΟϨΫτϦϓϩοτɼύοέʔδɼϔϧϓը໘ͳͲ
9K
• ʮRɹΩʔϫʔυʯͰάάΔ• ݕࡧΤϯδϯͰͳ͔ͳ͔ώοτ͠ͳ͍߹…• seekR (http://seekr.jp)• RjpWiki (http://www.okadajp.org/RWiki/)• R-Tips (http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html)• RʹΑΔ౷ܭॲཧʢhttp://aoki2.si.gunma-u.ac.jp/R/ʣ• ͳͲɼRʹಛԽͨ͠ௐํ͕͓͢͢Ί9K31RͰࠔͬͨͱ͖
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ32
• RStudioΛىಈʢىಈͷํRͱಉ͡ʣ• RStudioͰʮ৽͘͠ʯԿ͔Λ࢝ΊΔͱ͖ʹඞͣʮϓϩδΣΫτʯΛ࡞Δجຊૢ࡞33RStudioͷ४උ
• RStudioͰԿ͔Λੳ͢Δͱ͖ͷڥʁͷΑ͏ͳͷͷ୯Ґ• ಛఆͷσΟϨΫτϦʢϑΥϧμʣʹ࡞ΒΕΔ• ͱͱ͋ΔϑΥϧμͰྑ͍͠ϓϩδΣΫτΛ࡞Δࡍʹ৽͘͠ϑΥϧμΛ࡞ͬͯΑ͍• ݚڀ͓ࣄ͝ͱʹϑΥϧμ͚͞Ε͍ͯͨΒɼͦͷϑΥϧμʹϓϩδΣΫτΛ࡞ͬͯஔ͘ͱΑ͍• ʮR࿅शʯΈ͍ͨͳϑΥϧμΛ࡞ͬͯͦ͜ʹϓϩδΣΫτஔ͍ͯOK34ϓϩδΣΫτʁʁʁ
35৽͘͠࡞ΔͳΒݚڀࣄ͝ͱͷ໊લΛ͚ͭͨσΟϨΫτϦΛ͚ͭΔ(->New Directory->Empty Projectʣ͏͢Ͱʹ࡞ۀʹؔ࿈͢ΔϑΝΠϧͳͲͷೖͬͨϑΥϧμ͕͋ΔͳΒͦ͜ʹ࡞Δ(->Exsiting Directory)RStudioͷ४උجຊૢ࡞
• ϓϩδΣΫτΛ৽͘͠࡞ͬͨΒɼ·ͣ࠷ॳʹඞͣ৽͍͠RεΫϦϓτϑΝΠϧΛ࡞ΔʢࢀরɿʮίϯιʔϧϕλଧͪଔۀɿεΫϦϓτΤσΟλΛ͓͏ʯʢhttps://speakerdeck.com/tam07pb915/nagoyar14)• ͦͯ͠ඞ໊ͣલΛ͚ͭͯอଘ• εΫϦϓτΤσΟλΛ͏ํ͕ઈରʹྑ͍ʢੜRͰʣ• ίϯιʔϧʹଧͪࠐΉͷΛͱΓ͋͑ͣΊΔʢ͋ͱʹ͢ඞཁͷͳ͍࡞ۀҎ֎ʣ<-झຯͷΑ͏ʹR͏ਓҎ֎εΫϦϓτΤσΟλ• ্ҹ࿈ଧͰཤྺදࣔ͠ͳͯ͘εΫϦϓτΤσΟλʹίʔυΛॻ͍͍͚ͯཤྺΔ• ԿߦͰҰؾʹίʔυΛ࣮ߦͰ͖Δجຊૢ࡞36RStudioͷ४උ
ίϯιʔϧͬͯͳΜͧ͜Ε37
Windows൛ͩͱ͜͜38
RStudioͩͱ͜͜39
εΫϦϓτΤσΟλ40
ϑΝΠϧ->৽͍͠εΫϦϓτ41
͢Δͱ͜Μͳײ͡ʹ͍͕ͭ͜εΫϦϓτΤσΟλ42
Macͩͱ͜Μͳײ͜͡ΕΫϦοΫ͢Δ͚ͩͰOK43
RStudioͩͱ͜Μͳײ͡File -> New File ->R Script·ͨΞΠίϯ͔Β·ͨCtrl+Shift+N44
ΤσΟλʹଧͪࠐΜͰCtrl+Rʢ·ͨF5ʣͰ࣮ߦʢMacͳΒ⌘ʴreturnɼRStudioͳΒCtrl+ Enterʣ45
ϑΝΠϧ->อଘʢ·ͨCtrl+Sʣ֦ுࢠͳΜͰ͍͍͕ɼtxtʹ͢Δͱ͖ϑΝΠϧͷछྨΛมߋ46
※·ͩRͬͯͳ͍
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔ʢŗşƄŘƃʣ• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ48
• “>”͕දࣔ͞Ε͍ͯΔʹೖྗडத• εΫϦϓτΤσΟλʹ໋ྩΛॻ͖ɼCtrl + Enter(⌘ + EnterʣͰ࣮ߦ• શ֯μϝθολΠʢಛʹશ֯εϖʔεݟ͑ͳ͍ͷͰؾ͍ͮͨΒೖ͍ͬͯͨΓ͢Δʣ• େจࣈͱখจࣈ͔ͬ͠Γ۠ผ• ()ͷલޙه߸ͷલޙͷ֯εϖʔεؔͳ͍جຊૢ࡞49ҙࣄ߲
• ͏ԋࢉه߸࣍ͷ௨Γ• ͠ࢉɿʴʢΩʔϘʔυʹΑͬͯҧ͍·͕͢ӈͷํʣ• Ҿ͖ࢉɿ-ʢϋΠϑϯͰ͋ͬͯμογϡΞϯμʔόʔʹ͋Βͣʣ• ֻ͚ࢉɿ*ʢΩʔϘʔυʹΑͬͯҧ͍·͕͢ӈͷํʣ※MacͷUSΩʔϘʔυͳΒ8• ׂΓࢉɿ/ʢΩʔϘʔυʹΑͬͯҧ͍·͕͢ӈԼʣ• ྦྷɿ^ʢΩʔϘʔυʹΑͬͯҧ͍·͕͢ӈͷํʹ͋Γ·͢ΑͶʣ※MacͷUSΩʔϘʔυͳΒ6جຊૢ࡞50࢛ଇԋࢉ
• ࣜΛೖྗͯ͠ɼEnterΛԡ͢جຊૢ࡞51࢛ଇԋࢉ9+760-134*350/10(24+6)*44/10
• ࣜΛೖྗͯ͠ɼEnterΛԡ͢جຊૢ࡞52࢛ଇԋࢉ9+7 1660-13 474*3 1250/10 5(24+6)*44/10 132
• ࣜΛೖྗͯ͠ɼEnterΛԡ͢جຊૢ࡞53ྦྷ5^2#5ͷ210^4#10ͷ4#←͜ΕίϝϯτΞτͷҹͰ͢ɻ#ͷ͋ͱʹଓ͚ͯจষΛॻ͘ͱɼ໋ྩͱ࣮ͯ͠ߦ͞Ε·ͤΜʢ˞ผʹ͜͜Ͱଧͨͳͯ͘OKʣ
※͜Ε͋͘·ͰRʹ׳ΕͯΒ͏ͨΊͷ࿅शͰ͢ɻຊ൪͔࣍Β
• ໋ྩͷ్தͰEnterΩʔΛԡͯ͠͠·ͬͨΑ͏Ͱ͢• +->ʮ·ͩೖྗऴΘͬͯΜͰʁʯͱݴ͍ͬͯ·͢• +ʹଓ͚ͯೖྗͯ͠OK• ؾʹͳΔํɼEscΩʔʢΩʔϘʔυࠨ্ʣΛԡ͍ͯͩؔ͘͠͞55>͕+ʹͳͬͨϯΰ> 9++
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ56
• ݱ࣮ͷͬͱෳࡶͰେྔͷσʔλΛॲཧ͢Δͷ͕ؔ• ؔ• ༩͑ΒΕͨҾʹରͯ͠ॲཧΛฦ͢• RͰͳʹ͔Γ͍ͨ->ͦΕ͕Ͱ͖Δؔʢͦͷ͕ؔ͑Δύοέʔδʣ୳͠• ()Ͱׅͬͯ()ʹҾΛೖΕΔ• q()ؔؔ57ؔͱ
• sqrtؔ• ͯ͞ɼ͜ΕͳΜͷؔͰ͠ΐ͏ʁؔ58ؔΛͬͯΈΔ> sqrt(2)ɹɹ> sqrt(3)> sqrt(100)> sqrt(144)
• sqrtؔ• ͯ͞ɼ͜ΕͳΜͷؔͰ͠ΐ͏ʁؔ59ؔΛͬͯΈΔ> sqrt(2)ɹɹɹ1.414214> sqrt(3) 1.732051> sqrt(100) 10> sqrt(144) 12A.ɹฏํࠜ
• ݱ࣮ͷσʔλॲཧʹ͔ܽͤͳ͍͏Ұͭͷେࣄͳཁૉ͕ม• ม• 1ͭҎ্ͷࣈจࣈྻͳͲͷΛ·ͱΊ͓ͯ͘༰Ε• มʢ༰Εʣͷ໊લΛݺͼग़͢ͱࣈͷηοτ͕ݺͼग़ͤΔؔ60มͱ
ؔ61มͱ1234ΓΜ͝ʢࣈʣ1ݸͣͭͰͳ͘ɼͦΕ͕ೖͬͨΧΰʹؔΛద༻ͨ͠Γ͍ͯ͘͠
• kagoͱ͍͏มʹ1~4ͷࣈΛೖͯ͠Έ·͠ΐ͏• c()ؔɿෳͷཁૉΛ·ͱΊΔؔ• <-ʢෆ߸+ϋΠϑϯʣɿҹʢˡʣͷҙຯʢٯ͖Մʣ• <-=Ͱ༻Մೳ• ʮ1ͱ2ͱ3ͱ4Λ·ͱΊͯkagoͱ͍͏มʹೖ͍ͯͩ͘͠͞Ͷʯͱ͍͏໋ྩ• มͷ໊લΛଧͬͯEnter -> ʮมͷதݟ͍ͤͯͩ͘͞ʯؔ62มʹΛೖ> kago <-c(1,2,3,4)> kagoม࡞Δ ->த֬ೝͱ͍͏ྲྀΕΛบʹ͢Δ
• kagoͷத͜Μͳײ͡• ͜ͷkagoʹରͯ͠sqrtؔΛ࣮ߦͯ͠Έ·ؔ͢63มʹରͯؔ͠Λ࣮ߦkago[1] 1 2 3 4sqrt(kago)[1] 1.000000 1.4142141.732051 2.000000
ؔ64มʹରͯؔ͠Λ࣮ߦsqrt(1)sqrt(2)sqrt(3)sqrt(4)sqrt(kago)ͲͪΒָ͕͔Ұྎવ
• summary()ؔɿجຊ౷ܭྔͷࢉग़• table()ؔɿදͷ࡞• sum()ؔɿ߹ܭͷࢉग़• length()ؔɿσʔλͷݸͷࢉग़ؔ65جຊతͳ͚ؔͩͰ…
• mean()ؔɿฏۉͷࢉग़• max()ؔɿ࠷େͷࢉग़• min()ؔɿ࠷খͷࢉग़• median()ؔɿதԝͷࢉग़• sd()ؔɿඪ४ภࠩͷࢉग़ؔ66جຊతͳ͚ؔͩͰ…
• help()ؔ• ྫɿhelp(mean)ͷΑ͏ʹʢʣʹؔΛೖΕΔ• ؔͷઆ໌͕ݟΕΔʢRStudioͳΒӈԼͷϖΠϯʹݱΕ·͢ʣ• આ໌ӳޠͰ͕͢…• usage: ͍ํͷ֓ཁ• argument: ҾʹऔΔͷͷઆ໌• Example: ͍ํͷྫ• ͳͲɼܗ͕ܾࣜ·͍ͬͯΔͷͰݟΔϙΠϯτ͑͞ԡ͑͞Εා͘ͳ͍Ͱؔ͢67جຊతͳ͚ؔͩͰ…
• ؔΛ͏ͷR࡞ۀͷجຊͷ• ͋ͱͰ·͍͔͍ͨͭؔ͘·͢ͷͰ3ͭ͘Β͍֮͑ͯؼ͍ͬͯͩ͘͞• ()ͷதʹҾΛೖΕ·͢• ͲΜͳҾΛऔΔ͔ɼ͍ͭ͘ͷҾΛऔΔ͔ͳͲؔʹΑͬͯҧ͍·ؔ͢68ؔʹ͍ͭͯͷ·ͱΊ
• ߦྻͱ• ཁૉΛॎͱԣʹฒͨදܗࣜͷͷʢͱཧղ͍ͯͩ͘͠͞ʣ• ͜͏͍͏ͷͰ͢ˠؔ69ߦྻΛѻͬͯΈΔ1 2 3 45 6 7 89 10 11 1213 14 15 16
1 2 3 45 6 7 89 10 11 1213 14 15 16
ߦ
Ϊϣʔ
ྻ
Ϩπ
• matrix (ཁૉɼnrowɼncolʣ• ཁૉɿߦྻͷத• nrowɿߦʢྫɿnrow = 3ʣ• ncolɿྻʢྫɿncol = 4ʣؔ85ߦྻΛ࡞͢Δmatrixؔ
• matrixؔͰԼͷߦྻΛ࡞ͯ͠Έ·͠ΐ͏ؔ86ߦྻΛ࡞͢Δmatrixؔ1 5 9 132 6 10 143 7 11 154 8 12 16
• ͱ͍͍͕ͯ͠…ؔ87ߦྻΛ࡞͢Δmatrixؔ1 5 9 132 6 10 143 7 11 154 8 12 16matrix(c(1,2,3,4,5,6,7,8,9,+10,11,12,13,14,15,16),nrow=+4,ncol=4)matrix(1:16,nrow=4,ncol=4)1:16ʮ1͔Β16·Ͱʯͱ͍͏ҙຯʹͳΔ
• ฒํΛߦํ༏ઌʹ͍ͨ͠߹ؔ88ߦྻΛ࡞͢Δmatrixؔmatrix(1:16,nrow=4,ncol=4,byrow=T)1 2 3 45 6 7 89 10 11 1213 14 15 16
• ͜Ε͚ͩͰɼߦྻΛ͋ͱͰ͏͜ͱ͕ෆՄೳؔ89ߦྻͷཁૉʹΞΫηε>matrix(1:16,nrow=4,ncol=4,byrow=T)[,1] [,2] [,3] [,4][1,] 1 5 9 13[2,] 2 6 10 14[3,] 3 7 11 15[4,] 4 8 12 16
• hyouͱ͍͏มʹอଘ• มʹอଘ͢ΔͱɼmatrixؔΛ࣮ߦͯ͠ߦྻ͕ίϯιʔϧʹදࣔ͞Ε·ͤΜ͕ͦΕͰOK• ໋ྩΛ࣮ߦͯ͠ɼR͕͓ͱͳ͍͠ͱ͖͏·͍͍ͬͯ͘·ؔ͢90ߦྻͷཁૉʹΞΫηε>hyou<-matrix(1:16,nrow=4,ncol=4,byrow=T)
• 2ߦʹΞΫηε->hyou[2,]• 2ྻʹΞΫηε->hyou[,2]ؔ91[,1] [,2] [,3] [,4][1,] 1 2 3 4[2,] 5 6 7 8[3,] 9 10 11 12[4,] 13 14 15 16ߦྻͷཁૉΛऔΓग़͢
• 2ߦʹΞΫηε->hyou[2,]• 2ྻʹΞΫηε->hyou[,2]ؔ92> hyou[2,][1] 5 6 7 8> hyou[,2][1] 2 6 10 14ߦྻͷཁૉΛऔΓग़͢
• ෳߦɾෳྻΛ·ͱΊͯऔΓग़͍ͨ͠߹cؔΛ͏ʢʮ1ߦ͔Β3ߦʯίϩϯʣؔ93ߦྻͷཁૉΛऔΓग़͢>hyou[c(2,4),] #2ߦͱ4ߦ[,1] [,2] [,3] [,4][1,] 5 6 7 8[2,] 13 14 15 16
• ߦʢΪϣʔʣԣɼྻʢϨπʣॎ• matrix(ཁૉ, nrow, ncolʣ• औΓग़͢ͱ͖[]Λ͏• hyou[2,] #2ߦ• hyou[,2] #2ྻ• hyou[2,2] #2ߦͷ2ྻؔ94ߦྻͷ·ͱΊ
ʮݱ࣮ͷσʔλݟͨ͜ͱ͋ΜͷʁͶ͑ʁmatrixؔͰଧͪࠐΉͷʁഅࣛͳͷʁʯ
ʮߦྻ͡Όจࣈͱ͔ѻ͑ͳ͍Ͱ͠ΐʁʯ
σʔλϑϨʔϜ
• จࣈࣈͳͲɼܕͷҧ͏σʔλΛදܗࣜͰฒͨͷ• σʔλϑϨʔϜͷಡΈࠐΈʹνϟϨϯδͯ͠Έ·͠ΐ͏ؔ98σʔλϑϨʔϜܗࣜ
• read.table() ؔ• “ϑΝΠϧ໊”• headerɿݟग़͠ߦͷ༗ແ• sepɿ۠Γจࣈͷࢦఆ• read.table(“ϑΝΠϧ໊”, header = T or F, sep=“\t”or“,”)• csvϑΝΠϧͷͱ͖read.csv()ؔؔ99֎෦σʔλͷಡΈࠐΈʮλϒʯͷҙຯɻWindowsͳΒ¥t
• σʔλɿhttp://bit.ly/R-workshop_20180602• ϑΝΠϧ -> ܗࣜΛࢦఆͯ͠μϯϩʔυ->ΧϯϚ۠Γͷʢcsvɼݱࡏͷγʔτʣ• ϑΝΠϧ໊ͷޙΖͷ΄͏ʹ͋Δʮ - γʔτ1 ʯআ͍ͯͩ͘͠͞• RStudioͷϓϩδΣΫτϑΝΠϧ͕͋ΔϑΥϧμʹDL• ݸਓతʹɼExcelͳͲͷγʔτΛಡΈࠐΉ߹csvϑΝΠϧͱͯ͠γʔτΛผʹอଘ͢Δ͜ͱΛ͓͢͢ΊʢΫϦοϓϘʔυ͔ΒͩͱɼಡΈࠐΜͩσʔλ͕ޙ͔ΒΘ͔Βͳ͍ͨΊʣ• ޙʹ͢ඞཁͷͳ͍࡞ۀͳΒɼγʔτͷͳ͔ͷΛίϐʔͯ͠ΫϦοϓϘʔυ͔ΒಡΈࠐΉؔ100֎෦σʔλͷಡΈࠐΈ
• ࣍ͷΑ͏ͳίʔυͰσʔλΛಡΈࠐΈ• ϑΝΠϧ໊””Ͱ͘͘Δ͜ͱ• ϑΝΠϧ໊ʹ֦ுࢠΛඞؚͣΊΔ͜ͱؔ101֎෦σʔλͷಡΈࠐΈdat <-read.table(“XXXX.csv”,header=T,sep=“,”)#·ͨdat <-read.csv(“XXXX.csv”,header=T)
• ಡΈࠐΜͩσʔλͷߦ͚ͩͰݟ͍ͨ߹ʹhead()ؔΛ༻• head(dat,10)ͷΑ͏ʹɼΧϯϚͰ۠ͬͯҙͷΛ༩͑Δͱɼͦͷߦ͚ͩදࣔ• RStudioͳΒӈ্ͷϖΠϯͰdatͱ͍͏ม͕࡞ΒΕͨ͜ͱ͕֬ೝͰ͖ɼΫϦοΫ͢Δͱத͕ݟΕ·ؔ͢102ಡΈࠐΜͩσʔλͷ֬ೝ>dat>head(dat)
• meanؔͰฏۉΛٻΊͯΈ·͠ΐ͏ؔ103ಡΈࠐΜͩσʔλʹؔΛద༻>mean(dat)
• ͜͏ͳͬͯ͠·͏…ؔ104ಡΈࠐΜͩσʔλʹؔΛద༻>mean(dat)Warning message:In mean.default(dat) : argument isnot numeric or logical: returningNA
• meanؔʹ༩͑ΒΕΔͷɼϕΫτϧʢ1ߦ·ͨ1ྻͷΈʣ• ؔʹΑͬͯѻ͑Δσʔλͷܕ͕ҧ͏• dat[,2]ͷΑ͏ʹɼʮdatͷ2ྻʯͱ͢Δ• datͷޙΖʹ$Λ͚ͭͯɼdat$ClassA_Gr• σʔλϑϨʔϜܗࣜͰ$ͷޙʹྻ໊ΛࢦఆͰ͖Δؔ105ಡΈࠐΜͩσʔλʹؔΛద༻>mean(dat[,2])>mean(dat$ClassA_Gr)
• ྻ͝ͱʹͰ͖ͳ͍ͷʁʁʁؔ106ಡΈࠐΜͩσʔλʹؔΛద༻>mean(dat$ClassA_Gr)>mean(dat$ClassA_Vo)>mean(dat$ClassB_Gr)>mean(dat$ClassB_Vo)
• apply()ؔɿྻ·ͨߦ͝ͱʹؔΛద༻• datͷ··ͩͱɼIDྻ·Ͱܭࢉ͞Εͯ͠·͏• dat[,-1]ͱ͢Δͱɼʮ1ྻൈ͍ͯͶʯͷҙຯؔ107ಡΈࠐΜͩσʔλʹؔΛద༻>apply(dat, 2, mean)1ߦ͝ͱɼ2ྻ͝ͱ>apply(dat[,-1], 2, mean)ClassA_Gr ClassA_Vo ClassB_Gr ClassB_Vo74.60 69.96 71.56 73.92
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ108
• ώετάϥϜ• ࢄਤ• ശͻ͛ਤ࡞ਤ109ͬͯΈΔ͜ͱ
• ώετάϥϜ• ࢄਤ• ശͻ͛ਤ࡞ਤ110ͬͯΈΔ͜ͱ
࡞ਤ111ώετάϥϜHistogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7Histogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7>hist(dat$ClassA_Gr)
• ώετάϥϜ• ࢄਤ• ശͻ͛ਤ࡞ਤ112ͬͯΈΔ͜ͱ
࡞ਤ113ࢄਤHistogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7Histogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7>plot(dat$ClassA_Gr,dat$ClassA_Vo)ࢄਤجຊతʹ2มͷରԠؔͷਤࣔͳͷͰɼ2ͭͷϕΫτϧΛΧϯϚͰ۠ͬͯೖྗ
࡞ਤ114ࢄਤͷHistogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7Histogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7>plot(dat$ClassA_Gr,dat$ClassA_Vo)ࢄਤجຊతʹ2มͷରԠؔͷਤࣔͳͷͰɼ2ͭͷϕΫτϧΛΧϯϚͰ۠ͬͯೖྗσϑΥϧτͰx࣠ͱy͕࣠σʔλʹ߹Θͤͯઃఆ͞Εͯ͠·͏…
࡞ਤ115ࢄਤͷHistogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7Histogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7>plot(dat$ClassA_Gr,dat$ClassA_Vo,xlim=c(0,100),ylim=c(0,100))xlimx࣠ͷ෯Λࢦఆ͢Δʢ͜͜Ͱ0͔Β100·Ͱʣylimy࣠ͷ෯Λࢦఆ͢Δʢ͜͜Ͱ0͔Β100·Ͱʣݟ͕ͨશવมΘͬͯ·͢ΑͶɻਤࣔศརͰ͕͢ɼʮݟͤํʯͰ͍ͣͿΜσʔλ͕ҧ͏ͷͷΑ͏ʹݟ͑ͯ͠·͏ͷͰҙ
࡞ਤ116ࢄਤͷHistogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7Histogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7>plot(dat$ClassA_Gr,dat$ClassA_Vo,xlim=c(0,100),ylim=c(0,100),xlab=“Grammar”,ylab=“Vocabulary”)xlabx࣠ͷϥϕϧΛࢦఆ͢Δylaby࣠ͷϥϕϧΛࢦఆ͢Δ
• ώετάϥϜ• ࢄਤ• ശͻ͛ਤ࡞ਤ117ͬͯΈΔ͜ͱ
࡞ਤ118ശͻ͛ਤHistogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7Histogram of dat$ClassA_Grdat$ClassA_GrFrequency55 60 65 70 75 80 85 900 1 2 3 4 5 6 7>boxplot(dat[,-1])
• RStudio• Export -> Save image or PDF (or Copy toClipboard)• R• ϑΝΠϧ->ผ໊Ͱอଘ->metafile• อଘͷܗ͍ࣜΖ͍ΖબΔ͕ɼmetafile͕͖Ε͍ͳͷͰ͓͢͢Ίʢͨͩ͠PDFͰมͳઢೖΔͳͲͷόά͕ىͬͨ͜Γ͢Δʣ࡞ਤ119ඳ͍ͨਤͷอଘ
Today’s Menu• RͬͯͳΜͶΜ• RStudioͬͯͷ͕͋ΜͶΜ• ·ͣΠϯετʔϧͰ• ΄ͳجຊૢ࡞ͬͯΈΑ͔• ؔͬͪΎ͏ศརͳΜ͕͋ͬͯͳ• ΄Μ·࡞ਤָͳΜ• ύοέʔδͯ120
• R͕ఏڙ͍ͯ͠Δύοέʔδͨͬ͘͞Μ͋Δ• ͍Ζ͍Ζͳ͜ͱΛΖ͏ͱࢥ͏ͱύοέʔδΛΠϯετʔϧ͠ͳ͍ͱ͍͚ͳ͍• Πϯετʔϧͨ͋͠ͱʹԼͷ͓·͡ͳ͍͕ඞཁύοέʔδ121ศར͞Λ૿͢ύοέʔδ>install.packages(“ύοέʔδ໊”)>library(ύοέʔδ໊)library()ؔͰ””ͳ͠Ͱ͍͚Δ͕install.packages()ؔແཧͳͷͰҙ
• beeswarmύοέʔδͰ๘܈ਤΛඳ͖·͠ΐ͏• ശͻ͛ਤʹॏͶॻ͖Ͱ͖Δύοέʔδ122ศར͞Λ૿͢ύοέʔδ>install.packages(“beeswarm”)>library(beeswarm)>beeswarm(dat)>boxplot(dat[,-1])>beeswarm(dat[,-1],add=T)
͓͠·͍