Создайте несколько фиктивных переменных из одной строковой переменной
Я попробовал почти все изэтот похожий вопрос, но я не могу получить результаты, которые все остальные, кажется, получают. Это моя проблема:
У меня есть такой фрейм данных, в котором перечислены оценки, с которыми работает каждый учитель:
> profs <- data.frame(teaches = c("1st", "1st, 2nd",
"2nd, 3rd",
"1st, 2nd, 3rd"))
> profs
teaches
1 1st
2 1st, 2nd
3 2nd, 3rd
4 1st, 2nd, 3rd
Я искал решения, чтобы сломатьteaches
переменная в столбцы, вот так:
teaches1st teaches2nd teaches3rd
1 1 0 0
2 1 1 0
3 0 1 1
4 1 1 1
Я понимаю это решение с участиемsplitstackshape
библиотека и, видимо, устарелаconcat.split.expanded
функция должна делать именно то, что я хочу, учитывая объяснение ответчика. Тем не менее, я не могу достичь таких же результатов:
> concat.split.expanded(profs, "teaches", fill = 0, drop = TRUE)
Fehler in seq.default(min(vec), max(vec)) :
'from' cannot be NA, NaN or infinite
С помощьюcSplit
, который я понял, заменяет «большинство более ранних функций concat.split *», я получаю это:
> cSplit(profs, "teaches")
teaches_1 teaches_2 teaches_3
1: 1st NA NA
2: 1st 2nd NA
3: 2nd 3rd NA
4: 1st 2nd 3rd
Я пытался использоватьcSplit
помогает и настраивает каждый из этих параметров, но я просто не могу получить это разделение. Я ценю любую помощь.