Estou curioso para saber se R pode usar sua eval()
função para realizar cálculos fornecidos por, por exemplo, uma string.
Este é um caso comum:
eval("5+5")
No entanto, em vez de 10, recebo:
[1] "5+5"
Qualquer solução?
eval(parse(text = *))
soluções falsas.
QQ = c('11','12','13','21','22','23')
ie: QQ = c (..., 'ij', ..) com i, j variando em um intervalo que pode variar de execução para execução. Para este e outros exemplos semelhantes, posso escrever o script como paste( "QQ = c('", paste(rep(1:2,each=3),1:3, sep="", collapse="','"), "')",sep="")
e a opção eval(parse(text=...))
cria o vetor QQ no ambiente de trabalho, conforme o script. Qual seria a maneira correta do codificador R fazer isso, se não com "text = ..."?
string
? A resposta de Martin Mächler deve merecer muito mais votos positivos.