I have two columns in a data.frame
d
of character vectors
t1 <- c("vector, market", "phone34, fax", "material55, animal", "cave", "monday", "fast98")
t2 <- c("vector, market", "phone, fax", "summer, animal", "pan23", "monday", "fast98, ticket")
d <- data.frame(t1, t2, stringsAsFactors=FALSE)
d
t1 t2
1 vector, market vector, market
2 phone34, fax phone, fax
3 material55, animal summer, animal
4 cave pan23
5 monday monday
6 fast98 fast98, ticket
I want to concatenate the two columns to a single column t3, without any duplication.
Using paste
alone gives me duplicates.
d$t3 <- paste(d$t1, d$t2, sep=", ")
> d
t1 t2 t3
1 vector, market vector, market vector, market, vector, market
2 phone34, fax phone, fax phone34, fax, phone, fax
3 material55, animal summer, animal material55, animal, summer, animal
4 cave pan23 cave, pan23
5 monday monday monday, monday
6 fast98 fast98, ticket fast98, fast98, ticket
The desired result will be
t1 t2 t3
1 vector, market vector, market vector, market
2 phone34, fax phone, fax phone34, phone, fax
3 material55, animal summer, animal material55, animal, summer
4 cave pan23 cave, pan23
5 monday monday monday
6 fast98 fast98, ticket fast98, ticket
How can I efficiently do this in R
? Is there a vectorized solution?