Jestem ciekawy, czy R może użyć swojej eval()funkcji do wykonania obliczeń dostarczonych np. Przez ciąg.
Jest to częsty przypadek:
eval("5+5")
Jednak zamiast 10 otrzymuję:
[1] "5+5"
Jakieś rozwiązanie?
eval(parse(text = *)) fałszywe rozwiązania.
QQ = c('11','12','13','21','22','23')tj .: QQ = c (..., 'ij', ..) z i, j zmieniającymi się w zakresie, który może być różny w różnych biegach. Dla tego i podobnych przykładów mogę napisać skrypt jako paste( "QQ = c('", paste(rep(1:2,each=3),1:3, sep="", collapse="','"), "')",sep=""), a opcja eval(parse(text=...))tworzy wektor QQ w środowisku roboczym zgodnie ze skryptem. Jaki byłby to odpowiedni sposób kodera R, gdyby nie „text = ...”?
string? Odpowiedź Martina Mächlera powinna zasługiwać na znacznie większe poparcie.