R: Удалить (rm) переменную, где имя этой переменной является строкой, хранящейся в другой переменной - PullRequest
0 голосов
/ 21 января 2019

В R я хотел бы иметь возможность удалить ( rm ) переменной, где имя этой переменной хранится в виде строки в другой переменной. Вот пример ...

myVarName <- "toBeRemoved"
assign(myVarName, 3)
# mysteryremove is the function/command I'm looking for
mysteryremove(myVarName)

Как видите, я поместил значение 3 в переменную с именем "toBeRemoved" с помощью команды assign . Я ищу аналогичную функцию для назначить , которая будет удалить / rm переменную по имени переменной.

Заметьте, я полагаю, я мог бы просто сделать это:

idx <- which(myVarName == ls())
if(length(idx)) rm(list = ls()[idx])

... но я надеялся на более простой способ.

Последнее замечание - конечно, если бы я знал, какую переменную я удаляю, я мог бы просто сделать:

rm(toBeRemoved)

... но проблема в том, что я не буду знать, какую переменную нужно удалить, пока не будет выполнен код.

1 Ответ

0 голосов
/ 21 января 2019

Просто используйте

rm(list=myVarName)

Параметр list= принимает имена символов.Хотя в целом я бы предостерег от использования assign().Это часто не нужно и просто очень грязно.В большинстве случаев R гораздо счастливее с именованными списками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...