Коэффициент корреляции Пирсона в пакете опросов R
Извините, если это действительно очевидно, но я не вижу, как сделать простую корреляцию Пирсона между двумя переменными в пакете опроса. Мои данные имеют страты, так что это было бы эквивалентно нахождению r для api00 и api99 в apistrat.
library(survey)
data(api)
dstrat <- svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)
Я уверен, что должен быть простой способ сделать это с помощью svyvar или svyglm или что-то еще, но я не вижу его?
3 ответа:
Вы можете использовать
svyvar
для оценки матрицы дисперсии-ковариации, а затем масштабировать ее до корреляции:Это работает для любого числа корреляций и любого дизайна.library(survey) data(api) dstrat <- svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc) v <- svyvar(~api00+api99, dstrat) as.matrix(v) cov2cor(as.matrix(v))
library(survey) data(api) dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc) summary(svyglm(api00~ell+meals+mobility, design=dstrat),correlation=T)
Я немного поразмыслил над этой проблемой и начинаю думать, что лучший путь вперед-это сначала масштабировать обе переменные, предположительно используя svymean и svyvar.
dstrat2 <- transform(dstrat, z_api99 = (api99 - svymean(~api99, dstrat))/sqrt(svyvar(~api99, dstrat)), z_api00 = (api00 - svymean(~api00, dstrat))/sqrt(svyvar(~api00, dstrat))) svyglm(z_api99 ~ z_api00, dstrat2)$coefficients
Это дает 9.759047 e-01, что является тем же результатом, что и использование:
library(weights) wtd.cor(apistrat$api99, apistrat$api00, weight = apistrat$pw)
У него есть то преимущество, что он может быть использован практически с любым типом дизайна съемки. Он также обеспечивает способ получения стандартизированных бета-коэффициентов, если существует больше переменных. Это не совсем то, что я искал. с оригинальным вопросом, но это может быть лучшим способом, если нет конкретного варианта.
Если кто-нибудь еще может подтвердить, работает это или нет, или если есть лучший способ, то я был бы очень признателен за любые дальнейшие комментарии.