Существует несколько способов сделать фиктивные переменные из факторов - вот один из способов создания сводной таблицы присутствия.
Предположим, df
- это ваш фрейм данных. Вы можете использовать xtabs
для начала, что создаст таблицу частот из ваших 2 столбцов.
Сравнивая, чтобы увидеть, если ваши значения> 0, вы получите TRUE
, если> 0, и FALSE
в противном случае. Добавление 0 в конце даст TRUE
число 1 и FALSE
число 0.
(xtabs(~ HH_No + Source, df) > 0) + 0
Выход
Source
HH_No Deep_well Rainwater
1 1 1
3 1 1
4 0 1
Данные
df <- structure(list(HH_No = c(1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3,
3, 3, 4, 4), Source = structure(c(2L, 2L, 2L, 2L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L), .Label = c("Deep_well",
"Rainwater"), class = "factor")), class = "data.frame", row.names = c(NA,
-16L))