Nonancourt
Nonancourt

Reputation: 559

R: How to concatenate vectors of strings in a list of vectors

I have a list of vectors of strings like this:

x=list(c("a","b"),"c",c("d","e","f"),c("gg","hh") )

I'd like to concatenate the vectors into single strings like this

y=c("ab","c","def","gghh")

I searched around but I couldn't find a similar example. Is there a smart way to do this without looping over the list elements?

Upvotes: 3

Views: 213

Answers (2)

acylam
acylam

Reputation: 18681

With sapply:

y <- sapply(x, paste0, collapse = '')
# [1] "ab"   "c"    "def"  "gghh"

Upvotes: 6

Fino
Fino

Reputation: 1784

It's not the most elegant solution but this works:

x=list(c("a","b"),"c",c("d","e","f"),c("gg","hh") )

y=NULL
for(i in 1:length(x)){
  y=c(y,paste0(x[[i]],collapse=""))
}

Upvotes: -1

Related Questions