ฉันอยากรู้ว่า 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ควรได้รับการโหวตมากขึ้น