日々の記録簿

日々のできごとの記録

日記

surveyで相関係数を計算する

投稿日:

survey packageに相関係数を算出するコマンドがなかったのでメモ。こちらのサイトが参考になった。

library(survey)

data(api)
dstrat <- svydesign(
  id = ~1, strata = ~stype, weights = ~pw, data = apistrat, fpc = ~fpc
)

var <- svyvar(~ api00 + api99, design = dstrat)
cov2cor(as.matrix(var))

これで相関係数が算出される。標準誤差がほしい場合はややこしくなる。先のサイトでは、weights関数を使って計算している模様。

svycor <- function(model, design) {
  mf <- model.frame(model, model.frame(dstrat), na.action = na.pass)
  wts <- weights(dstrat, "sampling")

  wcors <- weights::wtd.cor(mf,
    weight = wts, bootse = TRUE, mean1 = TRUE,
    bootn = 1000, bootp = TRUE
  )
  return(wcors)
}

cors <- svycor(~api00 + api99, dstrat)

cors$correlation
cors$p.value
cors$std.err

スポンサーリンク

スポンサーリンク

-日記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Nexus 6を購入し、Cyanogenmod 12を導入した!

Google Playの在庫不足で、まったく入手できなかったのですが、ようやくNexus 6が手に入りました。 購入したのは32GB版です。3月11日にGoogle Playで注文し、「4〜5週間かか …

Thinkpad X1 Carbon 2016 (4th gen)に、Arch Linuxをインストールする方法(その4)

Thinkpad X1 Carbon 2016 (4th gen)でLinuxが起動しないという問題の現状です。 最新のkernel 4.6で、OneLink+ ドックがほぼ安定して使えるようになりま …

surveyでR2値を計算する方法

Rのsurvey packageには通常の回帰分析におけるR2値を計算する関数が存在しないようである。なので計算方法。参考にしたのはこちらのサイト。コードを見るとわかるが、途中でヌルモデルを計算してる …

全国学力・学習状況調査の何が問題なのか(その2)

その1の続きです。まだの人は、先にどうぞ。 テストで成績を測るにはどうすればよいのか? あまりにも巷に学力テストがありふれているため忘れられがちだが、「テストで成績を測る」というのは、それほどかんたん …

kernel 4.0.1-1で、Vmware Playerが起動しない

Arch Linuxでカーネルを4.0.1-1にアップデートしたら、Vmware Playerが起動しませんでした。 エラーを見ると、 GCC GNU C Compiler (gcc) version …