2014-01-29 2 views
2

Как извлечь формулу из объекта biglm? Я уже пробовал функцию as.formula(), но она не возвращает то, что я ожидаю. Пример:Как извлечь формулу из объекта biglm?

m1 = lm(Fertility ~ Agriculture + Examination + Education + Catholic + Infant.Mortality, data=swiss) 
as.formula(m1) # returns only the formula expression (that's what I want!) 
# returns: Fertility ~ Agriculture + Examination + Education + Catholic + Infant.Mortality 

library(biglm) 
m2 = biglm(Fertility ~ Agriculture + Examination + Education + Catholic + Infant.Mortality, data=swiss) 
as.formula(m2) # returns many things, but I want only the formula expression 
+2

ПОДСКАЗКА: смотреть на 'ул (м2)' –

+0

Среди 'biglm 'атрибуты, перечисленные' str (m2) ',' call' - это тот, который приближается к тому, что я хочу. Но он все еще не возвращает то, что я ожидаю. – Baumann

ответ

4

Вы можете использовать terms и formula:

formula(terms(m2)) 

Fertility ~ Agriculture + Examination + Education + Catholic + 
    Infant.Mortality 
1

Это должно сделать это для вас:

m2$call 
+0

'm2 $ call' возвращается:' biglm (Фертильность ~ Сельское хозяйство + Экзамен + Образование + Католик + Младенец. Объем, данные = швейцарский) ', но я бы хотел, чтобы он вернулся:' Фертильность ~ Сельское хозяйство + Экзамен + Образование + Infant.Mortality' – Baumann

+1

Решает: 'as.character (m2 $ call) [2]' – Baumann

Смежные вопросы