Я застрял здесь. Я пытался использовать spread
дважды из tidyr
, я пытался присоединиться. Но ни один из этих методов не дает правильного решения без некоторого жесткого кодирования.
Есть ли способ преобразовать эти данные:
cat1 cat2 title
1 A G AB
2 B G BC
3 C B CD
4 D G DE
5 E H EF
6 F A FG
в это:
A B C D E F G H
AB 1 0 0 0 0 0 1 0
BC 0 1 0 0 0 0 1 0
CD 0 1 1 0 0 0 0 0
DE 0 0 0 1 0 0 1 0
EF 0 0 0 0 1 0 0 1
FG 1 0 0 0 0 1 0 0
Пример данных:
df<-data.frame(cat1=LETTERS[1:6],
cat2=c('G','G','B','G','H','A'),
title=paste0(LETTERS[1:6],LETTERS[2:7]))
Поскольку я обычно получаю dplyr
ответов быстрее: Base R или tidyr
также приветствуются только решения