2016-08-02 3 views
0

Надеюсь, этот вопрос не вне форума. Я знаю, как закодировать фиктивную переменную в R, однако мне было интересно, могу ли я создать ее в excel. Допустим, у меня есть 3 цвета (красный, синий, желтый) список под цветовой переменной. R будет импортировать это как фактор с 3 уровнями.Excel Dummy Variable для R

Теперь, если бы я хотел сделать это в excel, я мог бы сделать 3 новых предиктора (вместо цвета они теперь станут красными, синими и желтыми) и поместите 1 в красный столбец, если он красный, и 0 в противном случае на? Или R продолжит интерпретировать это как 3 отдельных фактора с двумя уровнями каждый?

+0

@ZheyuanLi Итак, ваше высказывание импортирует их как 'df $ red <- as.numeric (df $ red)' или что-то вроде этого – Danib90

ответ

2

Итак, вы вручную создаете три фиктивных столбца в excel и хотите импортировать их в R? Если впоследствии вы импортируете эти столбцы как числовые, а не факторные, проблем не будет.

Ну, я все же должен напомнить вам, что R может кодовым фактором использовать фиктивные переменные, через model.matrix(). Поэтому никогда не нужно делать это самостоятельно. Конечно, можно использовать один столбец с «красным», «синим» и «желтым» в excel и экспортировать его в R как фактор.

colour <- gl(3,2,labels=c("red","blue","yellow")) 
model.matrix(~ colour - 1) 
# colourred colourblue colouryellow 
#1   1   0   0 
#2   1   0   0 
#3   0   1   0 
#4   0   1   0 
#5   0   0   1 
#6   0   0   1 

Еще один быстрый вопрос. Использование model.matrix для цвета фактора и других переменных факторов - как я могу включить это в свою модель? Когда я вызываю линейную модель (например) lm(response ~ predictor.1 + predictor.2 + colour), она автоматически вызовет фиктивные переменные или мне нужно присвоить model.matrix вектору?

model.matrix является обычной службы, для подгонки модели процедур, таких как lm, glm и т.д. Пользователь может просто использовать формулу, то матричная модель будет построена за сценой. Таким образом, вам даже не нужно самостоятельно получать модельную матрицу.

Для опытного пользователя иногда он может использовать внутренние подпрограммы lm.fit или даже .lm.fit. Прочитайте ?lm.fit для этих процедур. Эти подпрограммы не принимают модельную формулу, а модельную матрицу X и вектор отклика y. В такой ситуации пользователь несет полную ответственность за то, чтобы самостоятельно произвести X и y.

+0

просто еще один быстрый вопрос. Использование model.matrix для цвета и других переменных факторов - как я могу включить это в свою модель? Когда я вызываю линейную модель (например) 'lm (response ~ predictor.1 + predor.2 + color)' будет ли она автоматически вызывать фиктивные переменные или мне нужно назначить model.matrix вектору? – Danib90

+0

Я просто использовал функцию 'lm' в качестве примера. Я фактически пытаюсь использовать фиктивные переменные в моем фактическом наборе данных для повышения градиента. – Danib90

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