Подтвердить что ты не робот

Как получить значение, когда имя переменной передается как строка

Я пишу этот код в R

paste("a","b","c") 

который возвращает значение "abc"

Переменная abc имеет значение 5 (скажем), как я могу получить "abc", чтобы дать мне значение 5, есть ли какая-либо функция вроде as.value(paste("a","b","c")), которая даст мне ответ 5? Я делаю свое сомнение простым, и это именно то, что я хочу. Пожалуйста, помогите мне. Спасибо заранее

4b9b3361

Ответ 1

paste("a","b","c") дает "a b c" not "abc"

В любом случае, я думаю, что вы ищете get():

> abc <- 5
> get("abc")
[1] 5

Ответ 2

В дополнение к Sacha ответ. Если вы хотите присвоить значение объекту "abc" с помощью paste():

assign(paste("a", "b", "c", sep = ""), 5)

Ответ 3

Это, безусловно, один из наиболее часто задаваемых вопросов о языке R, а также его злой брат-близнец "Как превратить x='myfunc' в исполняемую функцию?" Таким образом, get, parse, eval, expression - все это хорошие вещи, о которых можно узнать. Наиболее полезным (IMHO) и наименее известным является do.call, который заботится о большом количестве операций преобразования строк в объект для вас.