Creating variables by combining a vector of names and a vector of values

I'd like to create a vector/list containing a series of variables that are the result of the combination of two vectors containing (i) specific variable names and (ii) specific variable ID (same for all the variables).
Here are reported a short version of the two vectors:
the variable names:

names<-c("XPTS", "TROCK", "JFSG")

and the variable IDs:

values<-c(1, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 2.3, 3, 3.1, 3.2, 3.3, 4, 4.1, 4.2, 4.3, 5, 5.1, 5.2, 5.3, 6, 6.1, 6.2, 6.3, 7, 7.1, 7.2, 7.3, 8, 8.1, 8.2, 8.3, 9, 9.1, 9.2, 9.3, 10, 10.1, 10.2, 10.3, 11, 11.1, 11.2, 11.3, 12, 12.1, 12.2, 12.3, 13, 13.1, 13.2, 13.3, 14, 14.1, 14.2, 14.3, 15, 15.1, 15.2, 15.3, 16, 16.1, 16.2, 16.3, 17, 17.1, 17.2, 17.3, 18, 18.1, 18.2, 18.3, 19, 19.1, 19.2, 19.3, 20, 20.1, 20.2, 20.3, 21, 21.1, 21.2, 21.3, 22, 22.1, 22.2, 22.3, 23, 23.1, 23.2, 23.3, 24, 24.1, 24.2, 24.3, 25, 25.1, 25.2, 25.3, 26, 26.1, 26.2, 26.3, 27, 27.1, 27.2, 27.3, 28, 28.1, 28.2, 28.3, 29, 29.1, 29.2, 29.3, 30, 30.1, 30.2, 30.3, 31, 31.1, 31.2, 31.3, 32, 32.1, 32.2, 32.3, 33, 33.1, 33.2, 33.3, 34, 34.1, 34.2, 34.3, 35, 35.1, 35.2, 35.3, 36, 36.1, 36.2, 36.3, 37, 37.1, 37.2, 37.3, 38, 38.1, 38.2, 38.3, 39, 39.1, 39.2, 39.3, 40, 40.1, 40.2, 40.3, 41, 41.1, 41.2, 41.3, 42, 42.1, 42.2, 42.3, 43, 43.1, 43.2, 43.3, 44, 44.1, 44.2, 44.3, 45, 45.1, 45.2, 45.3, 46, 46.1, 46.2, 46.3, 47, 47.1, 47.2, 47.3, 48, 48.1, 48.2, 48.3, 49, 49.1, 49.2, 49.3, 50)

I'd live to obtain a list of variable names as follows:

"XPTS_1","XPTS_1.1","XPTS_1.2", ..., "XPTS_49.3","XPTS_50","TROCK_1","TROCK_1.1",...,"TROCK_49.3","TROCK_50","JFSG_1","JFSG_1.1",...,"JFSG_49.3","JFSG_50"

The variable names are not only those reported but might change, so I'd like to have a dynamic loop for dealing with it. The one I wrote, as follows, doesn't fit my purpose:

variables_ID<-for (i in 1:length(values)) {
  paste(names, values[i], sep = "_")
}

since I get only

"XPTS_50" "TROCK_50" "JFSG_50"

I failed to understand your question in your last thread, and hence didn't reply. Sorry about that.

Does the following help?

name_vector <- c("XPTS", "TROCK", "JFSG")
value_vector <- rep_len(x = ((0:3) / 10),
                        length.out = 197) + rep(x = 1:50,
                                                each = 4,
                                                length.out = 197)
required_vector <- paste(rep(x = name_vector,
                             each = 197),
                         value_vector,
                         sep = "_")
required_vector
#>   [1] "XPTS_1"     "XPTS_1.1"   "XPTS_1.2"   "XPTS_1.3"   "XPTS_2"    
#>   [6] "XPTS_2.1"   "XPTS_2.2"   "XPTS_2.3"   "XPTS_3"     "XPTS_3.1"  
#>  [11] "XPTS_3.2"   "XPTS_3.3"   "XPTS_4"     "XPTS_4.1"   "XPTS_4.2"  
#>  [16] "XPTS_4.3"   "XPTS_5"     "XPTS_5.1"   "XPTS_5.2"   "XPTS_5.3"  
#>  [21] "XPTS_6"     "XPTS_6.1"   "XPTS_6.2"   "XPTS_6.3"   "XPTS_7"    
#>  [26] "XPTS_7.1"   "XPTS_7.2"   "XPTS_7.3"   "XPTS_8"     "XPTS_8.1"  
#>  [31] "XPTS_8.2"   "XPTS_8.3"   "XPTS_9"     "XPTS_9.1"   "XPTS_9.2"  
#>  [36] "XPTS_9.3"   "XPTS_10"    "XPTS_10.1"  "XPTS_10.2"  "XPTS_10.3" 
#>  [41] "XPTS_11"    "XPTS_11.1"  "XPTS_11.2"  "XPTS_11.3"  "XPTS_12"   
#>  [46] "XPTS_12.1"  "XPTS_12.2"  "XPTS_12.3"  "XPTS_13"    "XPTS_13.1" 
#>  [51] "XPTS_13.2"  "XPTS_13.3"  "XPTS_14"    "XPTS_14.1"  "XPTS_14.2" 
#>  [56] "XPTS_14.3"  "XPTS_15"    "XPTS_15.1"  "XPTS_15.2"  "XPTS_15.3" 
#>  [61] "XPTS_16"    "XPTS_16.1"  "XPTS_16.2"  "XPTS_16.3"  "XPTS_17"   
#>  [66] "XPTS_17.1"  "XPTS_17.2"  "XPTS_17.3"  "XPTS_18"    "XPTS_18.1" 
#>  [71] "XPTS_18.2"  "XPTS_18.3"  "XPTS_19"    "XPTS_19.1"  "XPTS_19.2" 
#>  [76] "XPTS_19.3"  "XPTS_20"    "XPTS_20.1"  "XPTS_20.2"  "XPTS_20.3" 
#>  [81] "XPTS_21"    "XPTS_21.1"  "XPTS_21.2"  "XPTS_21.3"  "XPTS_22"   
#>  [86] "XPTS_22.1"  "XPTS_22.2"  "XPTS_22.3"  "XPTS_23"    "XPTS_23.1" 
#>  [91] "XPTS_23.2"  "XPTS_23.3"  "XPTS_24"    "XPTS_24.1"  "XPTS_24.2" 
#>  [96] "XPTS_24.3"  "XPTS_25"    "XPTS_25.1"  "XPTS_25.2"  "XPTS_25.3" 
#> [101] "XPTS_26"    "XPTS_26.1"  "XPTS_26.2"  "XPTS_26.3"  "XPTS_27"   
#> [106] "XPTS_27.1"  "XPTS_27.2"  "XPTS_27.3"  "XPTS_28"    "XPTS_28.1" 
#> [111] "XPTS_28.2"  "XPTS_28.3"  "XPTS_29"    "XPTS_29.1"  "XPTS_29.2" 
#> [116] "XPTS_29.3"  "XPTS_30"    "XPTS_30.1"  "XPTS_30.2"  "XPTS_30.3" 
#> [121] "XPTS_31"    "XPTS_31.1"  "XPTS_31.2"  "XPTS_31.3"  "XPTS_32"   
#> [126] "XPTS_32.1"  "XPTS_32.2"  "XPTS_32.3"  "XPTS_33"    "XPTS_33.1" 
#> [131] "XPTS_33.2"  "XPTS_33.3"  "XPTS_34"    "XPTS_34.1"  "XPTS_34.2" 
#> [136] "XPTS_34.3"  "XPTS_35"    "XPTS_35.1"  "XPTS_35.2"  "XPTS_35.3" 
#> [141] "XPTS_36"    "XPTS_36.1"  "XPTS_36.2"  "XPTS_36.3"  "XPTS_37"   
#> [146] "XPTS_37.1"  "XPTS_37.2"  "XPTS_37.3"  "XPTS_38"    "XPTS_38.1" 
#> [151] "XPTS_38.2"  "XPTS_38.3"  "XPTS_39"    "XPTS_39.1"  "XPTS_39.2" 
#> [156] "XPTS_39.3"  "XPTS_40"    "XPTS_40.1"  "XPTS_40.2"  "XPTS_40.3" 
#> [161] "XPTS_41"    "XPTS_41.1"  "XPTS_41.2"  "XPTS_41.3"  "XPTS_42"   
#> [166] "XPTS_42.1"  "XPTS_42.2"  "XPTS_42.3"  "XPTS_43"    "XPTS_43.1" 
#> [171] "XPTS_43.2"  "XPTS_43.3"  "XPTS_44"    "XPTS_44.1"  "XPTS_44.2" 
#> [176] "XPTS_44.3"  "XPTS_45"    "XPTS_45.1"  "XPTS_45.2"  "XPTS_45.3" 
#> [181] "XPTS_46"    "XPTS_46.1"  "XPTS_46.2"  "XPTS_46.3"  "XPTS_47"   
#> [186] "XPTS_47.1"  "XPTS_47.2"  "XPTS_47.3"  "XPTS_48"    "XPTS_48.1" 
#> [191] "XPTS_48.2"  "XPTS_48.3"  "XPTS_49"    "XPTS_49.1"  "XPTS_49.2" 
#> [196] "XPTS_49.3"  "XPTS_50"    "TROCK_1"    "TROCK_1.1"  "TROCK_1.2" 
#> [201] "TROCK_1.3"  "TROCK_2"    "TROCK_2.1"  "TROCK_2.2"  "TROCK_2.3" 
#> [206] "TROCK_3"    "TROCK_3.1"  "TROCK_3.2"  "TROCK_3.3"  "TROCK_4"   
#> [211] "TROCK_4.1"  "TROCK_4.2"  "TROCK_4.3"  "TROCK_5"    "TROCK_5.1" 
#> [216] "TROCK_5.2"  "TROCK_5.3"  "TROCK_6"    "TROCK_6.1"  "TROCK_6.2" 
#> [221] "TROCK_6.3"  "TROCK_7"    "TROCK_7.1"  "TROCK_7.2"  "TROCK_7.3" 
#> [226] "TROCK_8"    "TROCK_8.1"  "TROCK_8.2"  "TROCK_8.3"  "TROCK_9"   
#> [231] "TROCK_9.1"  "TROCK_9.2"  "TROCK_9.3"  "TROCK_10"   "TROCK_10.1"
#> [236] "TROCK_10.2" "TROCK_10.3" "TROCK_11"   "TROCK_11.1" "TROCK_11.2"
#> [241] "TROCK_11.3" "TROCK_12"   "TROCK_12.1" "TROCK_12.2" "TROCK_12.3"
#> [246] "TROCK_13"   "TROCK_13.1" "TROCK_13.2" "TROCK_13.3" "TROCK_14"  
#> [251] "TROCK_14.1" "TROCK_14.2" "TROCK_14.3" "TROCK_15"   "TROCK_15.1"
#> [256] "TROCK_15.2" "TROCK_15.3" "TROCK_16"   "TROCK_16.1" "TROCK_16.2"
#> [261] "TROCK_16.3" "TROCK_17"   "TROCK_17.1" "TROCK_17.2" "TROCK_17.3"
#> [266] "TROCK_18"   "TROCK_18.1" "TROCK_18.2" "TROCK_18.3" "TROCK_19"  
#> [271] "TROCK_19.1" "TROCK_19.2" "TROCK_19.3" "TROCK_20"   "TROCK_20.1"
#> [276] "TROCK_20.2" "TROCK_20.3" "TROCK_21"   "TROCK_21.1" "TROCK_21.2"
#> [281] "TROCK_21.3" "TROCK_22"   "TROCK_22.1" "TROCK_22.2" "TROCK_22.3"
#> [286] "TROCK_23"   "TROCK_23.1" "TROCK_23.2" "TROCK_23.3" "TROCK_24"  
#> [291] "TROCK_24.1" "TROCK_24.2" "TROCK_24.3" "TROCK_25"   "TROCK_25.1"
#> [296] "TROCK_25.2" "TROCK_25.3" "TROCK_26"   "TROCK_26.1" "TROCK_26.2"
#> [301] "TROCK_26.3" "TROCK_27"   "TROCK_27.1" "TROCK_27.2" "TROCK_27.3"
#> [306] "TROCK_28"   "TROCK_28.1" "TROCK_28.2" "TROCK_28.3" "TROCK_29"  
#> [311] "TROCK_29.1" "TROCK_29.2" "TROCK_29.3" "TROCK_30"   "TROCK_30.1"
#> [316] "TROCK_30.2" "TROCK_30.3" "TROCK_31"   "TROCK_31.1" "TROCK_31.2"
#> [321] "TROCK_31.3" "TROCK_32"   "TROCK_32.1" "TROCK_32.2" "TROCK_32.3"
#> [326] "TROCK_33"   "TROCK_33.1" "TROCK_33.2" "TROCK_33.3" "TROCK_34"  
#> [331] "TROCK_34.1" "TROCK_34.2" "TROCK_34.3" "TROCK_35"   "TROCK_35.1"
#> [336] "TROCK_35.2" "TROCK_35.3" "TROCK_36"   "TROCK_36.1" "TROCK_36.2"
#> [341] "TROCK_36.3" "TROCK_37"   "TROCK_37.1" "TROCK_37.2" "TROCK_37.3"
#> [346] "TROCK_38"   "TROCK_38.1" "TROCK_38.2" "TROCK_38.3" "TROCK_39"  
#> [351] "TROCK_39.1" "TROCK_39.2" "TROCK_39.3" "TROCK_40"   "TROCK_40.1"
#> [356] "TROCK_40.2" "TROCK_40.3" "TROCK_41"   "TROCK_41.1" "TROCK_41.2"
#> [361] "TROCK_41.3" "TROCK_42"   "TROCK_42.1" "TROCK_42.2" "TROCK_42.3"
#> [366] "TROCK_43"   "TROCK_43.1" "TROCK_43.2" "TROCK_43.3" "TROCK_44"  
#> [371] "TROCK_44.1" "TROCK_44.2" "TROCK_44.3" "TROCK_45"   "TROCK_45.1"
#> [376] "TROCK_45.2" "TROCK_45.3" "TROCK_46"   "TROCK_46.1" "TROCK_46.2"
#> [381] "TROCK_46.3" "TROCK_47"   "TROCK_47.1" "TROCK_47.2" "TROCK_47.3"
#> [386] "TROCK_48"   "TROCK_48.1" "TROCK_48.2" "TROCK_48.3" "TROCK_49"  
#> [391] "TROCK_49.1" "TROCK_49.2" "TROCK_49.3" "TROCK_50"   "JFSG_1"    
#> [396] "JFSG_1.1"   "JFSG_1.2"   "JFSG_1.3"   "JFSG_2"     "JFSG_2.1"  
#> [401] "JFSG_2.2"   "JFSG_2.3"   "JFSG_3"     "JFSG_3.1"   "JFSG_3.2"  
#> [406] "JFSG_3.3"   "JFSG_4"     "JFSG_4.1"   "JFSG_4.2"   "JFSG_4.3"  
#> [411] "JFSG_5"     "JFSG_5.1"   "JFSG_5.2"   "JFSG_5.3"   "JFSG_6"    
#> [416] "JFSG_6.1"   "JFSG_6.2"   "JFSG_6.3"   "JFSG_7"     "JFSG_7.1"  
#> [421] "JFSG_7.2"   "JFSG_7.3"   "JFSG_8"     "JFSG_8.1"   "JFSG_8.2"  
#> [426] "JFSG_8.3"   "JFSG_9"     "JFSG_9.1"   "JFSG_9.2"   "JFSG_9.3"  
#> [431] "JFSG_10"    "JFSG_10.1"  "JFSG_10.2"  "JFSG_10.3"  "JFSG_11"   
#> [436] "JFSG_11.1"  "JFSG_11.2"  "JFSG_11.3"  "JFSG_12"    "JFSG_12.1" 
#> [441] "JFSG_12.2"  "JFSG_12.3"  "JFSG_13"    "JFSG_13.1"  "JFSG_13.2" 
#> [446] "JFSG_13.3"  "JFSG_14"    "JFSG_14.1"  "JFSG_14.2"  "JFSG_14.3" 
#> [451] "JFSG_15"    "JFSG_15.1"  "JFSG_15.2"  "JFSG_15.3"  "JFSG_16"   
#> [456] "JFSG_16.1"  "JFSG_16.2"  "JFSG_16.3"  "JFSG_17"    "JFSG_17.1" 
#> [461] "JFSG_17.2"  "JFSG_17.3"  "JFSG_18"    "JFSG_18.1"  "JFSG_18.2" 
#> [466] "JFSG_18.3"  "JFSG_19"    "JFSG_19.1"  "JFSG_19.2"  "JFSG_19.3" 
#> [471] "JFSG_20"    "JFSG_20.1"  "JFSG_20.2"  "JFSG_20.3"  "JFSG_21"   
#> [476] "JFSG_21.1"  "JFSG_21.2"  "JFSG_21.3"  "JFSG_22"    "JFSG_22.1" 
#> [481] "JFSG_22.2"  "JFSG_22.3"  "JFSG_23"    "JFSG_23.1"  "JFSG_23.2" 
#> [486] "JFSG_23.3"  "JFSG_24"    "JFSG_24.1"  "JFSG_24.2"  "JFSG_24.3" 
#> [491] "JFSG_25"    "JFSG_25.1"  "JFSG_25.2"  "JFSG_25.3"  "JFSG_26"   
#> [496] "JFSG_26.1"  "JFSG_26.2"  "JFSG_26.3"  "JFSG_27"    "JFSG_27.1" 
#> [501] "JFSG_27.2"  "JFSG_27.3"  "JFSG_28"    "JFSG_28.1"  "JFSG_28.2" 
#> [506] "JFSG_28.3"  "JFSG_29"    "JFSG_29.1"  "JFSG_29.2"  "JFSG_29.3" 
#> [511] "JFSG_30"    "JFSG_30.1"  "JFSG_30.2"  "JFSG_30.3"  "JFSG_31"   
#> [516] "JFSG_31.1"  "JFSG_31.2"  "JFSG_31.3"  "JFSG_32"    "JFSG_32.1" 
#> [521] "JFSG_32.2"  "JFSG_32.3"  "JFSG_33"    "JFSG_33.1"  "JFSG_33.2" 
#> [526] "JFSG_33.3"  "JFSG_34"    "JFSG_34.1"  "JFSG_34.2"  "JFSG_34.3" 
#> [531] "JFSG_35"    "JFSG_35.1"  "JFSG_35.2"  "JFSG_35.3"  "JFSG_36"   
#> [536] "JFSG_36.1"  "JFSG_36.2"  "JFSG_36.3"  "JFSG_37"    "JFSG_37.1" 
#> [541] "JFSG_37.2"  "JFSG_37.3"  "JFSG_38"    "JFSG_38.1"  "JFSG_38.2" 
#> [546] "JFSG_38.3"  "JFSG_39"    "JFSG_39.1"  "JFSG_39.2"  "JFSG_39.3" 
#> [551] "JFSG_40"    "JFSG_40.1"  "JFSG_40.2"  "JFSG_40.3"  "JFSG_41"   
#> [556] "JFSG_41.1"  "JFSG_41.2"  "JFSG_41.3"  "JFSG_42"    "JFSG_42.1" 
#> [561] "JFSG_42.2"  "JFSG_42.3"  "JFSG_43"    "JFSG_43.1"  "JFSG_43.2" 
#> [566] "JFSG_43.3"  "JFSG_44"    "JFSG_44.1"  "JFSG_44.2"  "JFSG_44.3" 
#> [571] "JFSG_45"    "JFSG_45.1"  "JFSG_45.2"  "JFSG_45.3"  "JFSG_46"   
#> [576] "JFSG_46.1"  "JFSG_46.2"  "JFSG_46.3"  "JFSG_47"    "JFSG_47.1" 
#> [581] "JFSG_47.2"  "JFSG_47.3"  "JFSG_48"    "JFSG_48.1"  "JFSG_48.2" 
#> [586] "JFSG_48.3"  "JFSG_49"    "JFSG_49.1"  "JFSG_49.2"  "JFSG_49.3" 
#> [591] "JFSG_50"

Created on 2019-07-02 by the reprex package (v0.3.0)

1 Like

Dear Yarnabrina,
thank you so much, yes it is perfect. About the last thread, I'd like to build a loop for the code you wrote me because I asked the question for just one of the several variables I have. I mean, I'd need to combine the result you showed me but applied to a series of different variables altogether, as I wrote in the example ("DCFT", "XPRG", "TROK").
I'd be very grateful if you could help me again with it

Sorry, I can't.

If you can provide an expected output so that I can visualise what is the objective, then I can try, but no guarantee. Otherwise, my ignorance about the function will dominate.

If you have such an example, I'll suggest you to post in that thread, or create a new thread. That's because it's not really relevant to this thread, and since you've marked the threads to be solved, there's a chance that many people with more knowledge will overlook that thread.

1 Like

Dear @Yarnabrina,
thanks for your help. I marked the post as unsolved and updated it link.
I'd be grateful if you could evaluate it once again.
Thank you very much.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.