[R] Creating a dataframe from a vector of character strings

Cliff Clive cliffclive at gmail.com
Thu Apr 14 23:04:49 CEST 2011

I have a vector of character strings that I would like to split in two, and
place in columns of a dataframe.

So for example, I start with this:

beatles <- c("John Lennon", "Paul McCartney", "George Harrison", "Ringo

and I want to end up with a data frame that looks like this:

> Beatles = data.frame(firstName=c("John", "Paul", "George", "Ringo"),
                       lastName=c("Lennon", "McCartney", "Harrison",
> Beatles
  firstName  lastName
1      John    Lennon
2      Paul McCartney
3    George  Harrison
4     Ringo     Starr

I tried string-splitting the first vector on the spaces between first and
last names, and it returned a list:

> strsplit(beatles, " ")
[1] "John"   "Lennon"

[1] "Paul"      "McCartney"

[1] "George"   "Harrison"

[1] "Ringo" "Starr"

Is there a fast way to convert this list into a data frame?  Right now all I
can think of is using a for loop, which I would like to avoid, since the
real application I am working on involves a much larger dataset.

View this message in context: http://r.789695.n4.nabble.com/Creating-a-dataframe-from-a-vector-of-character-strings-tp3450716p3450716.html
Sent from the R help mailing list archive at Nabble.com.

More information about the R-help mailing list