R, eval()örneğin bir dize tarafından sağlanan hesaplamaları gerçekleştirmek için işlevini kullanıp kullanamayacağını merak ediyorum .
Bu yaygın bir durumdur:
eval("5+5")
Ancak, 10 yerine:
[1] "5+5"
Herhangi bir çözüm?
eval(parse(text = *)) sahte çözümler geliştiren insanlar tarafından .
QQ = c('11','12','13','21','22','23')yani: QQ = c (..., 'ij', ..) ile i, j çalıştırmak için değişebilir bir aralıkta değişen. Bu ve benzeri örnekler için, komut dosyasını olarak yazabilirim paste( "QQ = c('", paste(rep(1:2,each=3),1:3, sep="", collapse="','"), "')",sep="")ve seçenek eval(parse(text=...)), komut dosyasına göre çalışma ortamında vektör QQ'yu oluşturur. "Text = ..." ile olmasaydı bunu yapmanın uygun R kodlayıcı yolu ne olurdu?
string? Martin Mächler'in cevabı çok daha fazla oyu hak etmeli.