Было бы лучше увидеть ваш код напрямую, а не нажимать ссылки для загрузки.Если я правильно понимаю ваш код (он не полностью виден, и ваш «вывод» не является выводом команды summary(lm...)
), вы переоценили проблему.
Ваша первая строка уже кодирует вашу переменнуюкак фактор, который скажет R автоматически создавать фиктивные переменные при выполнении регрессий и т. д. Используя матрицу контрастности, вы снова преобразовываете этот фактор в необработанное числовое значение.Это все, что вам действительно нужно:
df$x <- factor(<your variable data here as in your example>)
m <- lm(y ~ x ..., data = df)
Если вы действительно хотите видеть свою переменную как целое число, вы можете использовать as.integer
, но я думаю, вам не следует усложнять такие вещи.
Посмотрите типы данных в R для получения дополнительной информации о факторах.