Я заинтересован в том, чтобы взять столбец data.frame, где значения в столбце ограничены в трубе и создают фиктивные переменные из значений, разделенных по каналам.Преобразование столбца с данными, разделенными на тупик, в фиктивные переменные
Например:
Допустим, мы начинаем с
df = data.frame(a = c("Ben|Chris|Jim", "Ben|Greg|Jim|", "Jim|Steve|Ben"))
> df
a
1 Ben|Chris|Jim
2 Ben|Greg|Jim
3 Jim|Steve|Ben
Я заинтересован в конечном итоге с:
df2 = data.frame(Ben = c(1, 1, 1), Chris = c(1, 0, 0), Jim = c(1, 1, 1), Greg = c(0, 1, 0),
Steve = c(0, 0, 1))
> df2
Ben Chris Jim Greg Steve
1 1 1 1 0 0
2 1 0 1 1 0
3 1 0 1 0 1
я не знаю заранее, сколько потенциальных значений есть в поле. В приведенном выше примере переменная «a» может включать 1 значение или 10 значений. Предположим, что это разумное число (т. Е. < 100 возможных значений).
Любые хорошие способы для этого?
какая отличная находка. –
Много отличных ответов - спасибо всем. Мне нравится, что это лучшее, что кажется самым простым. Благодаря! – dreww2