Newbie programmer
Newbie programmer

Reputation: 1

Concatenate strings in R for multiple values

From my data set, there are 3 division, 4 different groups in each division and 3 employees in each group

Division <- c("Marketing", "Business Analytics", "Accounting")
Group <- 1:4
ID <- 1:3

Output: Marketing11 Marketing12 Marketing13 Business Analtics11....

Upvotes: 0

Views: 38

Answers (2)

Wimpel
Wimpel

Reputation: 27802

base R

apply( expand.grid(Division, Group, ID), 1, paste0, collapse = "" )

data.table

library( data.table )
CJ( Division, Group, ID)[, do.call(paste0, c(.SD))]

output

# [1] "Accounting11"         "Accounting12"         "Accounting13"         "Accounting21"         "Accounting22"        
# [6] "Accounting23"         "Accounting31"         "Accounting32"         "Accounting33"         "Accounting41"        
# [11] "Accounting42"         "Accounting43"         "Business Analytics11" "Business Analytics12" "Business Analytics13"
# [16] "Business Analytics21" "Business Analytics22" "Business Analytics23" "Business Analytics31" "Business Analytics32"
# [21] "Business Analytics33" "Business Analytics41" "Business Analytics42" "Business Analytics43" "Marketing11"         
# [26] "Marketing12"          "Marketing13"          "Marketing21"          "Marketing22"          "Marketing23"         
# [31] "Marketing31"          "Marketing32"          "Marketing33"          "Marketing41"          "Marketing42"         
# [36] "Marketing43"     

Upvotes: 2

daniellga
daniellga

Reputation: 1224

Division <- c("Marketing", "Business Analytics", "Accounting")
Group <- 1:4
ID <- 1:3

sort(as.vector(outer(Division, outer(Group, ID, FUN = "paste0"), FUN = "paste0")))

 [1] "Accounting11"         "Accounting12"         "Accounting13"         "Accounting21"         "Accounting22"        
 [6] "Accounting23"         "Accounting31"         "Accounting32"         "Accounting33"         "Accounting41"        
[11] "Accounting42"         "Accounting43"         "Business Analytics11" "Business Analytics12" "Business Analytics13"
[16] "Business Analytics21" "Business Analytics22" "Business Analytics23" "Business Analytics31" "Business Analytics32"
[21] "Business Analytics33" "Business Analytics41" "Business Analytics42" "Business Analytics43" "Marketing11"         
[26] "Marketing12"          "Marketing13"          "Marketing21"          "Marketing22"          "Marketing23"         
[31] "Marketing31"          "Marketing32"          "Marketing33"          "Marketing41"          "Marketing42"         
[36] "Marketing43"  

Upvotes: 0

Related Questions