[R] How to split a factor (unique identifier) into several others?
Tribo Laboy
tribolaboy at gmail.com
Thu Feb 7 07:44:10 CET 2008
Hello,
I have a data frame with a factor column, which uniquely identifies
the observations in the data frame and it looks like this:
sample1_condition1_place1
sample2_condition1_place1
sample3_condition1_place1
.
.
.
sample3_condition3_place3
I want to turn it into three separate factor columns "sample",
"condition" and "place".
This is what I did so far:
# generate a factor column for the example
fctr<- factor(c("sample1_condition1_place1",
"sample2_condition1_place1", "sample3_condition1_place1"))
splitfctr <- strsplit(as.character(fctr),"_")
> splitfctr
[[1]]
[1] "sample1" "condition1" "place1"
[[2]]
[1] "sample2" "condition1" "place1"
[[3]]
[1] "sample3" "condition1" "place1"
Now this is all fine, but how do I make three separate factors of this?
The object "splitfctr" is a list of character vectors, each character
vector being composed of the words after spitting the long original
world.
Now I want to form new character vectors, which contain the first
component of each list entry, then another vector for the second
component, etc.
I don't want to use loops, unless that's the only way to do it.I guess
I have some difficulty with understanding how R indexing works...
More information about the R-help
mailing list