ฉันอยากรู้ว่า R สามารถใช้eval()ฟังก์ชั่นเพื่อทำการคำนวณโดยสตริงหรือไม่
นี่เป็นกรณีทั่วไป:
eval("5+5")
อย่างไรก็ตามแทนที่จะเป็น 10 ฉันจะได้รับ:
[1] "5+5"
ทางออกใด ๆ
eval(parse(text = *)) แก้ปัญหาปลอม
QQ = c('11','12','13','21','22','23')เช่น: QQ = c (... , 'ij', .. ) โดยที่ฉัน, j แตกต่างกันไปในช่วงที่อาจแตกต่างจากการวิ่งเพื่อวิ่ง สำหรับตัวอย่างนี้และที่คล้ายกันฉันสามารถเขียนสคริปต์เป็นpaste( "QQ = c('", paste(rep(1:2,each=3),1:3, sep="", collapse="','"), "')",sep="")และตัวเลือกeval(parse(text=...))สร้างเวกเตอร์ QQ ในสภาพแวดล้อมการทำงานตามสคริปต์ อะไรจะเป็นวิธีที่เหมาะสม coder R ในการทำเช่นนี้ถ้าไม่ได้อยู่กับ "text = ... "?
string? คำตอบของ Martin Mächlerควรได้รับการโหวตมากขึ้น