日々の記録簿

日々のできごとの記録

日記

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

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

関連記事

全国学力・学習状況調査の都道府県別平均正答率csvファイル

ごく稀に必要になることがあるのですが、どこにあったっけ・・・と探すのがめんどくさいので、アップロードしてしまうことにしました。 全国学力・学習状況調査の都道府県別平均正答率csvファイルです。ただし、 …

php 7.4にしたら、wordpressの自動更新ができなくなっている(php-fpmの設定の問題)

php 7.4 に更新したら、wordpressの自動アップデートが止まるという問題が発生していた。その場しのぎでphpのアップデートを止めていたのだが、そろそろヤバイということで解決策をググってみた …

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

Thinkpad X1 Carbon 2016 (4th gen)でLinuxが起動しないという問題の現状です。 最新のkernel 4.6rc3を試したところ、OneLink+ ドックを繋いだままで …

surveyでR2値を計算する方法

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

Nexus 6とNexus 9 lteにCyanogenmodをインストールした(その後)

Nexus 9 LTEとNexus 6にCyanogenmodをインストールしてしばらく立ったので、現状報告(2015/04/09現在)。 まず、Nexus 6の方は、日常的に使えるレベルに達している …