SportLog

スポーツと英語とPythonとガジェット

#117 Rを使ってスピアマンの順位相関係数をforループでキメる

f:id:nororopokuru:20200805000058p:plain
昨日は Rを使ってシャピロウィルク検定をforループでキメました
www.sportscienceresearchjpn.com

今回はスピアマンでキメてみました。前回、検定結果が1個ずつ出力されてしまっていたので、今回はまとめて出力できるようにしました。

データは前回と同じ形で読み込み、1列目を固定で、2列目以降と順を追ってスピアマンをやってくれるように書けたと思います。

Dataset <- read.table("clipboard", header=TRUE, sep="\t", na.strings="NA", dec=".", 
                        strip.white=TRUE) 
  
  a<- c() # differ(1)  or not(0)
  b<- c()
  d<- c()
  
  N <- ncol(Dataset)
  NN <- N-1
  
  for (i in 1:NN) {
    st<-cor.test(Dataset[,1], Dataset[,i+1], method="spearman")
    if (st[["p.value"]]<0.05){
      n<- 0
    } else {
      n<-1
    }
    a<- c(a, c(n))
    b<- c(b, c(round(st[["p.value"]], digits=3)))
    d<- c(d, c(round(st[["estimate"]], digits=3)))
  }
  a
  b
  d

まだまだ改善の余地はありそうですが、とりあえずこのくらいで勘弁してください。

統計はほどほどに勉強中です。

RとPythonなど主に使っています。