Мені цікаво дізнатися, чи може 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-кодер для цього, якби не текст "..."?
string? Відповідь Мартіна Мехлера має заслуговувати на набагато більше результатів.