Мне любопытно узнать, может ли R использовать свою eval()
функцию для выполнения вычислений, предоставляемых, например, строкой.
Это общий случай:
eval("5+5")
Однако вместо 10 я получаю:
[1] "5+5"
Любое решение?
eval(parse(text = *))
поддельные решения.
QQ = c('11','12','13','21','22','23')
то есть: QQ = c (..., 'ij', ..) с i, j, варьирующимся в диапазоне, который может варьироваться от запуска к запуску. Для этого и подобных примеров я могу написать сценарий как paste( "QQ = c('", paste(rep(1:2,each=3),1:3, sep="", collapse="','"), "')",sep="")
, а опция eval(parse(text=...))
создает вектор QQ в рабочей среде согласно сценарию. Каков будет правильный способ кодера R сделать это, если не с "text = ..."?
string
? Ответ Мартина Мехлера заслуживает гораздо большего числа голосов.