this question has answer here:
i have long list of vectors got using str_extract_all().
the head(list) output following:
[1] "argentina" [[2]] [1] "buenos " "aires" "buenos " "aires" "argentina" [[3]] [1] "argentina" "argentina" [[4]] [1] "argentina" "argentina" [[5]] [1] "argentina" [[6]] [1] "argentina"
i want move output excel each element occupying different column within same row. example:
p1 p2 p3 p4 p5 argentina na na na na buenos aires buenos aires argentina argentina argentina argentina na na
but following error while trying it:
error in data.frame("argentina", c("buenos ", "aires", "buenos ", "aires", : arguments imply differing number of rows: 1, 5, 2, 3, 6, 4, 0, 9, 8, 7, 38,
any appreciated.
as lengths of list
elements different, may need pad na
@ end before rbind
ing assinging length<-
maximum length
of elements in list
.
lst <- lapply(lst, trimws) d1 <- as.data.frame(do.call(rbind, lapply(lst, `length<-`, max(lengths(lst)))), stringsasfactors=false) names(d1) <- paste0("p", seq_along(d1))
if using packages, stri_list2matrix
convenient function stringi
library(stringi) stri_list2matrix(lst, byrow=true)
data
lst <- list("argentina", c("buenos ", "aires", "buenos ", "aires", "argentina" ), c("argentina", "argentina"), c("argentina", "argentina"), "argentina", "argentina")
Comments
Post a Comment