Hi,
I guess it's not the nicest way to do it, but it should work for you:
#create some sample data
df <- data.frame(a=c("A B", "C D", "A C", "A D", "B D"),
stringsAsFactors=FALSE)
#split the column by space
df_split <- strsplit(df$a, split=" ")
#place the first element into column a1 and the second into a2
for (i in 1:length(df_split[[1]])){
df[i+1] <- unlist(lapply(df_split, FUN=function(x) x[i]))
names(df)[i+1] <- paste("a",i,sep="")
}
I hope people will give you more compact solutions.
HTH,
Ivan
Le 1/18/2011 16:30, boris pezzatti a écrit :
Dear all,
how can I perform a string operation like strsplit(x," ") on a column
of a dataframe, and put the first or the second item of the split into
a new dataframe column?
(so that on each row it is consistent)
Thanks
Boris
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
--
Ivan CALANDRA
PhD Student
University of Hamburg
Biozentrum Grindel und Zoologisches Museum
Abt. Säugetiere
Martin-Luther-King-Platz 3
D-20146 Hamburg, GERMANY
+49(0)40 42838 6231
[email protected]
**********
http://www.for771.uni-bonn.de
http://webapp5.rrz.uni-hamburg.de/mammals/eng/1525_8_1.php
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.