日々の記録簿

日々のできごとの記録

日記

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

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

関連記事

ThinkPad X250 のトラックポイントが使いにくい!

X250を1ヶ月ほど使っていますが、最近いまいち旧機種に比べて使いにくいと思うようになりました。 で、気づいたのが、X250はトラックポイントの反応が鈍いということ。旧機種に比べて、操作に力が要ります …

Nexus 6にCyanogenmod 13.0をインストールした!

Nexus 6にCyanogenmod 13.0をインストールしたメモです。軽く考えていたら、まさかの一日作業になってしまいました・・・。 以下、経緯を簡単に。 まず、通常のアップデートを行ったのです …

nftablesが停止してしまう?

今朝まで気づいていなかったのだが、起動時にftablesが停止している旨のログがでていて、心底驚いた。「systemctl is-active nftables」で確認しても停止していると表示される。 …

サイトをSSLへ移行してみた!

今、話題のLet’s Encryptを利用して、このサイトをSSLに移行してみました。 参考にしたのは、次のページです。 Arch Wiki Let’s Encrypt さくらのレンタルサ …

nvim-Rの使い方(2018年度版)

nvim-Rの使い方(2019年度版)を書きました。2019年現在、nvim-completion-managerは更新されていません。 vimからRを使うNvim-Rですが、まだまだ深化しています。 …