I’m trying to condense your problem into a minimal working example (MWE), see here Please read: make it easier to help you for how to structure questions that are easy to understand.
It is not certain that I can help, but I can help to simplify your question, at least.
So most of your code plays no part here. I reduced your example to this:
using Surrogates
x_train = sample(10, ["s1", 1], ["s4", 10], SobolSample())
This gives an error:
ERROR: MethodError: no method matching +(::String, ::Int64)
But you are saying that this is no longer a problem, and your code now fails at the next line:
instead?
How did you get the x_train
?