2014-10-01 4 views
-1

Я начинаю копаться в R и учиться основам, и я хотел бы получить помощь с несколькими командами.Базовая модель регрессии в помощи R

Я пытаюсь понять следующие понятия, используя набор данных извлекается из текстового файла:

Для начала, вот первые несколько строк текста документа в вопросе:

salary  totcomp tenure age  sales profits assets Industry 
24222.39 58936.87 7  61  161315 2956 257389 2 
24048.97 59219.46 0  51  144416 22071 237545 3 
23172.99 56814.47 11 63  139208 4430 49271 2 
23431.15 56971.3  6  60  100697 6370 92630 3 
22049.87 55596.23 18 63  100469 9296 355935 3 

Создание корреляции таблицы

salary<-read.table(file="C:/Users/sean/Desktop/ceosalary.txt", header = TRUE,sep="\t") 
attach(salary) 
cor(salary[-c(1,4,6)]) 

Построить модель множественной регрессии

lm(formula = profits - Industry) 
o1<-lm(salary-profits) 

При выполнении lm() возникает ошибка:

Ошибка в model.frame.default (формула = оклад - прибыль, drop.unused.levels = TRUE): недопустимый тип (список) для переменная 'зарплата'

Получить таблицу

ANOVA Для аб Ове модель множественной регрессии, используя anova():

anova(lm) 

Am Я на правильном пути с этими командами?

+7

Что модель, которую Вы хотите установить? Вы пытаетесь предсказать заработную плату на основе прибыли? то вы хотите 'lm (зарплата ~ прибыли)' not 'lm (зарплата-прибыль)' - обратите внимание на тильду «~», а не на знак «минус». Первый используется для указания формул в R. Кроме того, я бы предложил избегать 'attach()'. Это может действительно испортить ваш путь поиска, и большинство функций имеют параметр 'data =', поэтому просто не нужно. Например: 'lm (зарплата ~ прибыль, данные = зарплата)' – MrFlick

+0

Также для печати таблиц ANOVA для установленной модели regreesion используйте, например, 'fit <- lm (зарплата ~ прибыль, данные = зарплата)', чтобы захватить установленную модель, а затем 'anova (fit)' для отображения таблицы ANOVA. Мне также кажется, что «индустрия» должна быть категориальной переменной. В этом случае вы должны преобразовать его в коэффициент, используя 'зарплата $ Industry <- factor (зарплата $ Industry)' перед установкой модели с ней. – SimonG

+0

Нет, я пытаюсь предсказать прибыль, основанную на промышленности, а затем продажи, а затем возраст. – herpderp

ответ

2

Ваша модель не является моделью с множественной регрессией. Его простая линейная регрессия. Также формула для lm-функции имеет вид y ~ x, а не y-x. Здесь y будет зависимой переменной, а x будет независимой переменной.

В R, вы должны кода, как это:

fit <- lm(profits~Industry, data=salary) 
summary(fit) 

Если вы хотите сделать множественной регрессии,

fit <- lm(profits~Industry+tenure+age, data=salary) 
summary(fit) 

резюме (подходит) даст вам выход модели с р -значения, коэффициенты регрессии, остаточная стандартная ошибка и многое другое.

Для делать ANOVA, вы должны сделать:

anova(fit) 
Смежные вопросы