Как получить имена переменных, назначенные другой переменной? - PullRequest
0 голосов
/ 18 октября 2019

пример кода:

target = Y ~ X1 + X2 + X3
now = target

Я хочу автоматически получить имя переменной target (которая является целевой), используя имя переменной now (которая сейчас)

ожидаемый результат:

paste0(***the thing I need***,".best")
"target.best"

то, что мне нужно должно быть связано только с now (потому что я хочудля автоматического запуска кода)

кто-нибудь может мне помочь с этим? THX:)

в настоящее время я знаю, что я могу использовать функцию deparse(substitute()), чтобы получить имя, но Idk, как получить имя target только с использованием имени now.

используя функцию get(), я могу получить только значение цели, а не имя.

в моем случае, переменная now является гибкой, она может быть target1 или target2 скоро скоро. я хочу получить то, на что ссылается now, не используя имя переменной target1 / target2. Например, если now = target2, ожидаемый ответ должен быть в состоянии получить "target2", используя только имя переменной now, target2 не должно быть включено.

1 Ответ

1 голос
/ 18 октября 2019

Использование только substitute () для объявления переменной now работает для достижения желаемого результата. Дайте мне знать, правильно ли я понял ваш вопрос.

target = Y ~ X1 + X2 + X3
now = substitute(target)

> paste0(now, '.best')
[1] "target.best"

Вы можете получить доступ к фактическому значению now, используя eval():

> eval(now)
Y ~ X1 + X2 + X3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...