Wie erstelle ich neue Spalten, die Dummy-Variablen 1 und 0 enthalten, um die Beobachtung der Zeile anzuzeigen.Dplyr Dummy-Variablen-/Indikatorspalten für SQL-Tabellen erstellen
Ich möchte so etwas wie dies für die Spalte schaffen .. x
x y x_a x_b x_c
1 a 4 1 0 0
2 a 4 1 0 0
3 b 5 0 1 0
4 b 5 0 1 0
5 c 5 0 0 1
6 c 6 0 0 1
Oder Spalte y
x y y_4 y_5 x_6
1 a 4 1 0 0
2 a 4 1 0 0
3 b 5 0 1 0
4 b 5 0 1 0
5 c 5 0 1 0
6 c 6 0 0 1
ich dies geschafft, in der Basis R in neue Spalten mit ifelse.
Ich möchte dies in dplyr tun, damit es auf SQL-Tabellen arbeiten kann.
con <- DBI::dbConnect(RSQLite::SQLite(), path = "")
dbWriteTable(con, "test",test)
testdb <- tbl(con, "test")
testdb %>% mutate(i = row_number(), i2 = 1) %>% spread(x, i2, fill = 0)
Die Funktion row_number() funktioniert nicht auf SQL-Tabellen.
Fehler: Die Fensterfunktion row_number()
wird von dieser Datenbank nicht unterstützt. Im SQLite ..
'test%>% mutieren (i = row_number(), i2 = 1)%>% Spread (x, i2, fill = 0) 'könnte funktionieren. Aber warum nicht einfach 'model.matrix' verwenden? Oder noch besser: Matrix :: sparseMatrix() '? Weil es nicht tiblliverse ist? –
Danke für Ihre Hilfe, ich muss es in dplyr schreiben, da es sql ähnlicher ist. – user8542010
Ich bin nicht sicher, warum diese Frage als ein Duplikat von https://stackoverflow.com/questions/11952706/generate-a-dummy-variable markiert ist Ich frage nach einer dplyr Lösung, nicht Basis R. – user8542010