--- breaks: false --- # CPA/GCA in R の Prerequisite [Cluster-based Permutation Analysis in R](https://hackmd.io/@CarlosLuisRivera/S1-XfoWIL/edit) を含め、チュートリアルには色々と前提知識が必要なのでまとめます。そもそも Permutation Analysis ってなんですか、という話とRの関数の話を残しておきます。 ## Permutation Analysis Permutation Analysis は 統計的な仮説検証の手法であるので、 結局は「null仮説が真である確率」を求める手法です。 ただ、線形モデルとは全く違う考え方です。 すごく人任せなのですが、 下の動画が分かりやすいです。 {%youtube FkHkB-IadxY %} 補足すると、Permutationというからには 並び替えが必要で(4:10ごろからの説明)、 要因Aと要因Bで条件付けられた データがあるとする。 なお、要因Aと要因Bの差を求めておく。 ここで要因間の差が意味のあるものかを知るために、 まずは効果がないというnull仮説をたててみる。 要因に意味はない、というのは すでにあるデータの要因をごちゃまぜにすることと 同じだと仮定する(6:00ごろ)。 そうすると、意味のない場合の差の分布が得られる。 さて、その分布の上でもともとの差が得られる 確率はどれくらいだろうか。 もしその確率が有意水準以下なら、 要因に意味はないという仮説が棄却される... というロジック(らしい) ## Rのデフォルト関数 ```r= # options(scipen = 999)は小数点の表示を変更 > 0.1**10 [1] 1e-10 > options(scipen = 0) > 0.1**10 [1] 1e-10 > options(scipen = 999) > 0.1**10 [1] 0.0000000001 # require は読み込んだあとにbooleanを返す > require(tidyverse)==TRUE [1] TRUE > library(tidyverse)==TRUE [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [13] FALSE FALSE FALSE FALSE # as 関数: 中身の型を変える > as.character(c(1,2)) [1] "1" "2" > as.factor(c(1,2)) [1] 1 2 Levels: 1 2 # Run Length Encoding: 何がどのくらいの長さか > rle(c(1,1,0,0,1)) Run Length Encoding lengths: int [1:3] 2 2 1 values : num [1:3] 1 0 1 # Trueになるindexを返す > which(c(0,1,1,0,1)!=0) [1] 2 3 5 ``` ## Tidyverse関連の関数