Ich habe eine data.frame
mit key/value string
Spalte mit Informationen über Features und ihre Werte für eine Reihe von Benutzern. So etwas wie das:R: Wie wandelt man einen Schlüssel/Wert-String in separate Spalten um?
data<-data.frame(id=1:3,statid=c("s003e","s093u","s085t"),str=c("a:1,7:2","a:1,c:4","a:3,b:5,c:33"))
data
# id statid str
# 1 1 s003e a:1,7:2
# 2 2 s093u a:1,c:4
# 3 3 s085t a:3,b:5,c:33
Was ich versuche zu tun ist, eine data.frame-Spalte für jede Funktion zu erstellen. Wie folgt aus:
data_after<-data.frame(id=1:3,statid=c("s003e","s093u","s085t"),
a=c(1,1,3),b=c(0,0,5),c=c(0,4,33),"7"=c(2,0,0))
data_after
# id statid a b c X7
# 1 1 s003e 1 0 0 2
# 2 2 s093u 1 0 4 0
# 3 3 s085t 3 5 33 0
Ich versuche str_split
von stringr
Paket zu verwenden und dann Elemente der erstellten Liste Transformation data.frames
(später bindet sich zum Beispiel unter Verwendung von rbind.fill
von plyr
), kann es aber nicht getan. Jede Hilfe wird geschätzt!
Siehe 'splitstackshape' Paket. – zx8754