Загрузочный пакет в R простая помощь - PullRequest
5 голосов
/ 20 октября 2011

Если я хочу использовать функцию boot() из пакета R's boot для вычисления значимости коэффициента корреляции Пирсона между двумя векторами, я должен сделать это следующим образом:

boot(re1, cor, R = 1000)

гдеre1 это матрица из двух столбцов для этих двух векторов наблюдения?Я не могу понять это правильно, потому что cor из этих векторов равно 0.8, но вышеприведенная функция возвращает -0.2 как t0.

1 Ответ

7 голосов
/ 20 октября 2011

Просто чтобы подчеркнуть общую идею начальной загрузки в R, хотя @caracal уже ответил на ваш вопрос через свой комментарий. При использовании boot вам необходимо иметь структуру данных (обычно матрицу), которую можно выбирать по строкам. Вычисление вашей статистики обычно выполняется в функции, которая получает эту матрицу данных и возвращает интересующую статистику, вычисленную после повторной выборки. Затем вы вызываете boot(), который заботится о применении этой функции к R репликациям и сбору результатов в структурированном формате. Эти результаты можно оценить, используя boot.ci() по очереди.

Вот два рабочих примера с исследованием low birth baby в пакете MASS.

require(MASS)
data(birthwt)
# compute CIs for correlation between mother's weight and birth weight
cor.boot <- function(data, k) cor(data[k,])[1,2]
cor.res <- boot(data=with(birthwt, cbind(lwt, bwt)), 
                statistic=cor.boot, R=500)
cor.res
boot.ci(cor.res, type="bca")
# compute CI for a particular regression coefficient, e.g. bwt ~ smoke + ht
fm <- bwt ~ smoke + ht
reg.boot <- function(formula, data, k) coef(lm(formula, data[k,]))
reg.res <- boot(data=birthwt, statistic=reg.boot, 
                R=500, formula=fm)
boot.ci(reg.res, type="bca", index=2) # smoke
...