2012-02-15 12 views
5

Przy konstruowaniu modelu liniowego w dziedzinie badań, jaka jest różnica między dwiema następującymi stwierdzeniami:Różnica między ":" i "|" modelowania liniowego R

lm(y ~ x | z) 
lm(y ~ x : z) 

lm function documentation dokumentuje operatora : następująco:

specyfikację form pierwszy: drugi wskazuje zestaw terminów uzyskanych przez podjęcie interakcji wszystkich terminów w pierwszej kolejności z wszystkimi terminami w drugim.

Nie ma żadnej wzmianki o składni | na tej stronie. Jaka jest różnica?

+0

| jest używany tylko w modelach warunkowych i anova, a zatem nie ma sensu w wywołaniu LM. W rzeczywistości powinien zostać zgłoszony błąd. –

+0

Nie, działa idealnie dobrze dla danych liczbowych. Nie działa jednak dla danych czynnikowych. Używam "R wersji 2.14.1 (2011-12-22)", zgodnie z 'R.Version()'. – eykanal

+3

Jeśli | nie ma błędu w 'lm', założę się, że to jest faktyczne ocenianie logicznego" lub "danych, które są zmuszane do powrotu do liczb. –

Odpowiedz

8

: służy do interakcji. W przykładzie lm(y ~ x : z) formuła oznacza „y jest zależny od efektu interakcji pomiędzy x i z.

Zazwyczaj nie obejmowałyby interakcji w regresji liniowej jak to chyba także indywidualne warunki x i z jak dobrze. x * z jest skrótem x + x:z + z.

AFAIK, | nie jest używany przez lm w ogóle. to na pewno nie pojawi się w żadnym z przykładów demo("lm.glm", "stats"). jest on stosowany w modelach mieszanych efektów w Pakiet nlme.

Przykład z ?intervals.lme:

model <- lme(distance ~ age, Orthodont, random = ~ age | Subject) 
ranef(model) 

tutaj "grupa o" | sposobami. Oznacza to, że dla każdego pacjenta dopasowywany jest inny losowy efekt dla wieku. (Patrząc na ranef(model) widać, że każdy wiersz odpowiada przypadkowym efektom dla osoby (podmiotu).)

+0

Dobra odpowiedź, ale czy możesz wyszczególnić "inny losowy efekt dla wieku dopasowany do każdego przedmiotu", proszę? Nie jest to dla mnie zbyt jasne ... Dzięki – sop

+0

Dzięki, teraz jest już wyraźniej :) – sop

+0

Czy istnieje różnica między 'lm (y ~ x + x: z + z + k)' a 'lm (y ~ x * z + k) '? – sop

Powiązane problemy