Split-Daten-frame string-Spalte in mehrere Spalten

Nehme ich gerne die Daten des Formulars

before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar_2'))
  attr          type
1    1   foo_and_bar
2   30 foo_and_bar_2
3    4   foo_and_bar
4    6 foo_and_bar_2

und verwenden split() auf die Spalte "type" von oben zu bekommen, so etwas wie dieses:

  attr type_1 type_2
1    1    foo    bar
2   30    foo  bar_2
3    4    foo    bar
4    6    foo  bar_2

Kam ich mit etwas unglaublich Komplex, mit irgendeiner form von apply das klappte auch, aber ich hab da verlegt dass. Es schien viel zu kompliziert, um es der beste Weg. Ich kann verwenden strsplit als unten, aber dann unklar, wie man das wieder in 2 Spalten in der Daten-frame.

> strsplit(as.character(before$type),'_and_')
[[1]]
[1] "foo" "bar"

[[2]]
[1] "foo"   "bar_2"

[[3]]
[1] "foo" "bar"

[[4]]
[1] "foo"   "bar_2"

Vielen Dank für jegliche Hinweise. Ich habe nicht ganz groked R Listen nur noch.

InformationsquelleAutor jkebinger | 2010-12-03
Schreibe einen Kommentar