Ich habe ein ziemlich interessantes Problem, dass ich eine intelligente und mögliche effiziente Lösung für suchen.R "explodieren" Spalten eines Datenrahmens
Ich habe einen Datenrahmen, der so aussieht.
# A tibble: 6 x 6
track_id tag1 tag2 tag3 tag4 tag5
<int> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1550729 54087 109806 46869 183258 54337
2 1184201 201327 3668 46208 205245 189631
3 3763749 194264 194413 3424 91383 205245
4 2674608 198998 107401 2327 4425 107398
5 1999180 54087 4425 75574 239459 2397
6 3048820 11242 205245 2474 11056 72354
Was Ich mag würde, ist die track_id in der ersten Reihe zu halten, aber die Tags zu explodieren, und wo eine Spur die bestimmte ID hat, würde Ich mag einen wahren Wert setzen, nämlich ein.
Um klarer, nehmen wir an, ich von einem Start kleinere:
track_id tag1 tag2
1 1550729 54087 109806
2 1184201 201327 3668
Nach der Umwandlung in etwas bekommen, wie ich möchte
track_id 54087 109806 201327 3668
1 1550729 1 1 0 0
2 1184201 0 0 1 1
Ist das etwas schnell möglich oder ich sollte eine Lösung von Hand ausrollen?
Suche nach "Dummy-Variable" und/oder „ein- hot encoding " –
Zuerst konvertieren Sie die' tag' Variablen in Faktoren und dann 'model.matrix (~. + 0, data = your_data_frame)'. Vorgeschlagene Duplikate: https://stackoverflow.com/q/11952706/903061, https://stackoverflow.com/q/24142576/903061 – Gregor