R이 eval()
함수를 사용하여 문자열과 같은 계산을 수행 할 수 있는지 궁금 합니다.
이것은 일반적인 경우입니다.
eval("5+5")
그러나 10 대신에 나는 얻는다 :
[1] "5+5"
어떤 해결책?
eval(parse(text = *))
가짜 솔루션을지지 하는 사람들에 의해 잘못된 정보가 SO에 어떻게 퍼져 있는지를보고 놀랐습니다 .
QQ = c('11','12','13','21','22','23')
, 즉 QQ = c (..., 'ij', ..) 형식의 스크립을 실행하고 싶습니다 . 이 예제와 비슷한 예제의 경우 스크립트를로 작성할 수 paste( "QQ = c('", paste(rep(1:2,each=3),1:3, sep="", collapse="','"), "')",sep="")
있으며 옵션 eval(parse(text=...))
은 스크립트 에 따라 작업 환경에서 벡터 QQ를 만듭니다. "text = ..."가 아닌 경우이를 수행하는 올바른 R 코더 방법은 무엇입니까?
string
입니까? Martin Mächler의 답변은 훨씬 더 많은지지를 받아야합니다.