To jest mój pierwszy wpis na tym forum i chcę powiedzieć od samego początku, że nie jestem wprawnym programistą. Więc daj mi znać, jeśli pytanie lub kod były niejasne!Jak rozpocząć ładowanie w odniesieniu do informacji wewnątrz podmiotu?
Próbuję uzyskać przedział ufności 95% (CI) dla interakcji (to jest moja statystyka testu), wykonując ładowanie początkowe. Używam pakietu "boot". Mój problem polega na tym, że dla każdego resample, chciałbym, aby randomizacja była wykonywana w obrębie przedmiotów, tak aby obserwacje z różnych przedmiotów nie były mieszane. Oto kod generujący ramkę danych podobną do mojej. Jak widać, mam dwa wewnątrz-poddaje czynników („num” i „gram” i jestem zainteresowany interakcji między obu):
Subject = rep(c("S1","S2","S3","S4"),4)
Num = rep(c("singular","plural"),8)
Gram = rep(c("gram","gram","ungram","ungram"),4)
RT = c(657,775,678,895,887,235,645,916,930,768,890,1016,590,978,450,920)
data = data.frame(Subject,Num,Gram,RT)
Jest to kod użyłem, aby uzyskać empiryczną wartość interakcji :
summary(lm(RT ~ Num*Gram, data=data))
Jak widać, interakcja między moimi dwoma czynnikami wynosi -348. Chcę uzyskać bootstrap przedział ufności dla tej statystyki, które można wygenerować za pomocą „rozruchu” pakiet:
# You need the following packages
install.packages("car")
install.packages("MASS")
install.packages("boot")
library("car")
library("MASS")
library("boot")
#Function to create the statistic to be boostrapped
boot.huber <- function(data, indices) {
data <- data[indices, ] #select obs. in bootstrap sample
mod <- lm(RT ~ Num*Gram, data=data)
coefficients(mod) #return coefficient vector
}
#Generate bootstrap estimate
data.boot <- boot(data, boot.huber, 1999)
#Get confidence interval
boot.ci(data.boot, index=4, type=c("norm", "perc", "bca"),conf=0.95) #4 gets the CI for the interaction
Moim problemem jest to, że myślę, że resamples powinny być generowane bez mieszania poszczególnych przedmiotów obserwacje: To , aby wygenerować nowe próbki, obserwacje z tematu 1 (S1) powinny zostać przetasowane w obrębie tematu 1, nie mieszając ich z obserwacjami z tematów 2 itd. ... Nie wiem jak "boot" robi resampling (Przeczytałem dokumentację, ale nie rozumiem, jak działa ta funkcja)
Czy ktoś wie, w jaki sposób mogę upewnić się, że procedura resampling używana przez "boot" uwzględnia informacje na poziomie przedmiotu?
Bardzo dziękuję za pomoc/radę!
+1 za bardzo ładne pierwsze pytanie, ale należy również usunąć inną wersję, która została [poddana migracji z CrossValidated] (http://stackoverflow.com/questions/17473321/how-to-bootstrap-respecting-subject -level-information). – Thomas
@Thomas. Ups, zapomniałem o tym! Został usunięty :) – Sol