2013-09-26 2 views
-1

Я знаю, что есть несколько вопросов по этой теме, но никто из них, кажется, не отвечает на мой конкретный вопрос.Как добавить фиктивные переменные в R

У меня есть набор данных с пятью независимыми переменными, и я хочу добавить две результирующие переменные в мою регрессию в R. У меня есть данные в Excel, и импорт набора данных не является проблемой (я использую read.csv2). Теперь, когда я хочу видеть мои фиктивные переменные, D1 и D2, я не могу. Я вижу все остальные переменные. Две фиктивные переменные изменяются от 0 до 1 через набор данных.

Я могу легко увидеть сводку всех моих данных, включая D1 и D2 (со средним, средним и т. Д.), И я могу отдельно вызывать каждую из 5 переменных без каких-либо проблем, но я не могу сделайте это с D1 и D2.

> str(tilskuere) 'data.frame': 180 obs. of 7 variables: 
$ ATT : int 3166 4315 7123 6575 7895 7323 3579 9571 5345 6595 ... 
$ PRICE : int 80 95 120 100 105 115 80 130 105 100 ... 
$ viewers: int 41000 43000 56000 66000 157000 91000 51000 30000 36000 72000 ... 
$ CB1 : int 10 10 5 2 7 2 3 1 10 1 ... 
$ CB2 : num 1 1 1 0 0.33 ... 
$ D1 : int 0 0 0 1 0 0 0 0 0 0 ... 
$ D2 : int 1 0 0 0 0 1 1 0 0 0 ... 
> summary(tilskuere) 
> mean(ATT) [1] 6856.372 
> mean(D1) Fejl i 
mean(D1) : object 'D1' not found 

Подводя итог: могу запустить регрессии в R без D1 и D2, но не может включать их как фиктивные переменные, как R не может найти эти переменные, когда я запускать их. R просто говорит: «Объект D1 не найден».

Я надеюсь, что кто-то может помочь. Заранее спасибо.

Сердечные приветы Миккель

+2

Добро пожаловать в SO! Добавьте минимальный [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610) и покажите, что вы пробовали. Благодаря! – Henrik

+0

Просьба представить воспроизводимый пример с кодом. Трудно догадаться, что вы делаете в своем описании. – Tyler

+1

Непонятно, что значит «видеть» переменные здесь. Когда вы читаете в csv, вся таблица обертывается в data.frame, поэтому, если 'dat <- read.csv (...)', тогда вы должны посмотреть 'dat $ D1'. – Frank

ответ

0

Я добавил материал в свой комментарий к тексту, добавлены некоторые символы новой строки, и теперь ясно, что вы не понимаете, что столбцы не являются объектами первого класса в R. Попробуйте:

mean(tilskuere$D1) 

Вы можете увидеть, какие объекты находятся в вашем рабочем пространстве:

ls() 

Вы, кажется, есть объект с именем ATT в вашем workspac e, а также столбец длиной-180 с тем же именем в объекте с именем tilskuere.

+0

Когда я вхожу в ls (tilskuere), я правильно перечисляю все мои переменные. «tilskuere» - это то, что я называю своей моделью. «ATT» - моя зависимая переменная. – Mikkel

+0

ATT находится в двух местах в вашем рабочем пространстве. Это числовой вектор с именем ATT, а затем внутри dataframe tilskuere есть другой. Они могут быть одинаковыми или быть не могут. Из рабочей области вы не видите D1, но в пределах tilskuere вы можете видеть это. Теперь вам нужно прочитать далее «Введение в R» о том, как использовать функции регрессии с параметром 'data = tilskuere', чтобы доступ к столбцам можно получить по формулам. –

+0

Я думаю, причина, по которой ATT появляется в моей рабочей области, а также в объекте «tilskuere», заключается в том, что раньше я пробовал разные вещи, и я создал модель под названием «modelatt». Как вы можете, @DWin, увидеть мое рабочее пространство? Кроме того, теперь он работает с фиктивными переменными - так спасибо ребятам – Mikkel