2015-08-26 12 views
6

İleri bir seçim yaklaşımını izlediğim bir model doğrulama aracı oluşturmaya çalışıyorum, bu yüzden modelimin model<- y~a*b+c*d+e olduğunu varsayalım, terim işlevini R attributes(terms(model))$term.labels içinde kullanabilirim Benim modelimdeki tüm belirleyicileri bulmak, ancak bu yaklaşımla ilgili problem, etkileşim terimlerinin her zaman sona ermesidir. a:b to be after a and b'u istiyorum ve sonunda değil, aynı c: d için de geçerli. Etkileşim şartları sipariş etmek için bir yolu var mı? Herkes yardım edebilir mi?Formül manipülasyonu (uygun sıralamada yerle etkileşim koşulları)

cevap

8

basit yolu yardım dosyasına bakmak için terms.formula()

model <- y ~ a * b + c * d + e 
labels(terms(model, keep.order = TRUE)) 
# [1] "a" "b" "a:b" "c" "d" "c:d" "e" 

yılında keep.order kullanmak olacaktır, bu yöntem ?terms de gösterildiği gibi değil, ?terms.formula kullanmak isteyeceklerdir. Ancak terms(), formül yöntemine gönderecektir. Ayrıca, labels(), terms() etiketlerini almak için kısa yoldur.

+0

Çok teşekkür ederim! :) – devdreamer

+0

Elbette, yardım etmekten mutluluk duyuyorum! –