0

I posted yesterday another question but I feel I need to clarify it.

Let's say I have this code

md.NAME <- (subset(MyData, HotelName=="ALAMEDA"))
md.NAME.fc <- (subset(md.ALAMEDA, TIPO=="FORECAST"))
md.NAME.fc.bar <- (subset(md.ALAMEDA.fc, Market.Segment=="BAR"))

What I want is that NAME changes according to a variable set before those 3 lines are run, So NAME is just dynamic in the sense that before these 3 lines I could say, ok, NAME now is equal to JOHN, but then, I could say that NAME is now equal to PATRIC.

So after running those 3 lines, twice (once for John and once for Patric) somehow in the environment I will get something like this: 6 dataframes, 3 for JOHN and 3 for PATRIC

DATAFRAME 1 WILL BE   md.JOHN
DATAFRAME 2 WILL BE   md.JOHN.fc
DATAFRAME 3 WILL BE   md.JOHN.fc.bar
DATAFRAME 1 WILL BE   md.PATRIC
DATAFRAME 2 WILL BE   md.PATRIC.fc
DATAFRAME 3 WILL BE   md.PATRIC.fc.bar

All the answers I had so far would help me only if "md" and "fc" or "fc.bar" are always the same. But I will have several variables like this, which will change a lot as far as the naming goes. So, it is the center part (NAME) the only one that should change.

I could even have something like:

md.test$NAME <- ...
  • 1
    Instead of creating objects in the global env, place it in a `list` and then chang the `name` of the `list` i.e. `lst1 – akrun Nov 12 '18 at 22:26
  • The `assign()` function could be helpful. Something like `assign(paste0("md.", NAME), value=subset(MyData, HotelName=="ALAMEDA"))`- To get more precise answers please provide a reproducible example. – Florian Nov 12 '18 at 22:57
  • 1
    Yesterday you were advised that this was a bad idea. It still is. – user2554330 Nov 12 '18 at 23:40
  • 1
    Possible duplicate of [One variable name combining a static name + a variable name](https://stackoverflow.com/questions/53250691/one-variable-name-combining-a-static-name-a-variable-name) – user2554330 Nov 12 '18 at 23:41

0 Answers0