ข้ามไปที่เนื้อหา
cd /languages
  • การคำนวณเชิงสถิติ
  • การเขียนโปรแกรม
  • รองรับ AST และสัญลักษณ์

R บน Maguyva: กราฟโค้ดสำหรับงานวิเคราะห์และแพ็กเกจ

Maguyva รองรับ R ด้วย AST สัญลักษณ์ และกราฟ เพื่อให้เอเจนต์ AI ติดตามฟังก์ชัน การส่งต่อแบบ S3 และ S4 และการเรียกฟิตโมเดลข้ามสคริปต์และแพ็กเกจ R ได้

จุดที่ R ทำให้เครื่องมือ AI แบบผิวเผินสะดุด

R วางฟังก์ชันพื้นฐาน ฟังก์ชันจากแพ็กเกจ และฟังก์ชันของคุณไว้ในเนมสเปซแบนเดียวกัน จุดเป็นส่วนหนึ่งของชื่อ ไม่ใช่การเข้าถึงสมาชิก is.na, data.frame และ print.summary_table จึงเป็นตัวระบุเดี่ยว เครื่องมือที่อ่าน print.summary_table เป็นเมธอดบน print จะเข้าใจโครงสร้างผิด และเครื่องมือที่บันทึกทุกการเรียกพื้นฐานจะฝังฟังก์ชันของคุณไว้ใต้ c() และ paste()

Maguyva เก็บชื่อใน R ไว้ครบถ้วนและกรองสัญญาณรบกวนจากฟังก์ชันพื้นฐาน เพื่อให้เอเจนต์เห็นฟังก์ชันที่งานวิเคราะห์ของคุณพึ่งพาจริง

Maguyva ดึงอะไรจาก R ได้บ้าง

Maguyva จับคู่ไฟล์ .R, .Rmd และ .Rnw กับ R ฟังก์ชันที่กำหนดให้กับชื่อ เช่น clean_survey <- function(df) จะถูกดึงออกมาด้วยชื่อนั้น ฟังก์ชันไม่มีชื่อไม่ถือเป็นนิยาม ชื่อที่มีจุดจะไม่ถูกแยกเป็นรีซีฟเวอร์และสมาชิก

การเรียกพื้นฐานบางรายการของ R ถูกเก็บไว้ในกราฟโดยตั้งใจ เพราะแสดงให้เห็นว่าโค้ดวิเคราะห์เชื่อมกันอย่างไร ได้แก่การส่งต่อแบบ S3 และ S4 (UseMethod, standardGeneric) ตระกูล apply (lapply, sapply, vapply, mapply) การฟิตโมเดล (lm, predict, anova) การโหลดแพ็กเกจ (library, require) และการจัดการข้อผิดพลาดด้วย tryCatch

กราฟยังบันทึกการสร้างอินสแตนซ์ และการอ่านและเขียน

ตัวอย่างพรอมต์สำหรับเอเจนต์

  • “ใครเรียก clean_survey และโมเดลใดใช้ผลลัพธ์ของมัน” (find_symbol จากนั้น dependency_search ทิศทางขาเข้า)
  • “ฟังก์ชันใดบ้างที่เรียก fit_model” (dependency_search)
  • “ติดตามเส้นทางจาก load_raw_data ไปจนถึงการถดถอยขั้นสุดท้าย” (get_task_context)

ข้อจำกัดที่ทราบ

  • ชื่อจาก R พื้นฐาน stats และ graphics ประมาณ 800 ชื่อถูกกรองออกจากความสัมพันธ์ เช่น print, paste, c, data.frame การเรียกวาดกราฟ และตัวสร้างเลขสุ่ม ใช้ text_pattern_search สำหรับสิ่งเหล่านี้
  • R สร้างคลาสและโหลดแพ็กเกจด้วยการเรียกฟังก์ชันทั่วไป ดังนั้นพรีเซ็ต classes, imports และ variables ใน structural_search จึงไม่เลือกอะไรเลย ให้ใช้ find_symbol และ text_pattern_search
  • ไฟล์ .Rmd และ .Rnw ถูกอ่านทั้งไฟล์ด้วยไวยากรณ์ของ R ไม่ใช่ทีละชังก์ อาจได้ผลลัพธ์ไม่ครบในเอกสาร R Markdown และ Sweave
  • R ไม่มีไวยากรณ์เดคอเรเตอร์ ความสัมพันธ์ของเดคอเรเตอร์จึงถูกทำเครื่องหมายว่าไม่เกี่ยวข้อง

ขั้นตอนถัดไป

เชื่อมต่อรีโพซิทอรีด้วยคู่มือเริ่มต้นใช้งาน แล้วดูตารางการรองรับได้ที่หน้าความเข้ากันได้ สำหรับรีโพซิทอรีวิทยาการข้อมูลแบบผสม ให้อ่านคู่มือภาษา Python ด้วย

เหมาะที่สุดสำหรับ

  • > แพ็กเกจ R ที่มีฟังก์ชันส่งออก เมธอด S3 และตัวช่วยภายในจำนวนมาก
  • > ไปป์ไลน์วิเคราะห์ที่แบ่งเป็นสคริปต์ซึ่งใช้ฟังก์ชันทำความสะอาดข้อมูลและสร้างโมเดลร่วมกัน
  • > ทีมข้อมูลที่ส่งโค้ด R ให้เอเจนต์ AI ซึ่งต้องเห็นว่าฟังก์ชันใดป้อนข้อมูลให้โมเดลใด

เวิร์กโฟลว์ของเอเจนต์

  • > ค้นหาผู้เรียกทั้งหมดของฟังก์ชันทำความสะอาดข้อมูลก่อนเปลี่ยนคอลัมน์ที่คืนกลับ
  • > ติดตามว่าฟังก์ชันใดส่งต่อการทำงานด้วย `UseMethod` และเมธอดของมันอยู่ที่ไหน
  • > ทำแผนที่เส้นทางตั้งแต่การโหลดข้อมูลดิบจนถึงโมเดลที่ฟิตแล้ว

รายละเอียดเอนจิน

  • > การรองรับ R จับคู่ไฟล์ `.R`, `.Rmd` และ `.Rnw` กับ R ฟังก์ชันที่กำหนดให้กับชื่อจะถูกดึงออกมาด้วยชื่อนั้น และชื่อที่มีจุดอย่าง `data.frame` ยังคงครบถ้วน
  • > การส่งต่อแบบ S3 และ S4 (`UseMethod`, `standardGeneric`) ตระกูล apply, `lm`, `predict` และ `tryCatch` ถูกเก็บไว้ในกราฟโดยตั้งใจ
  • > ชื่อจาก R พื้นฐาน `stats` และ `graphics` ประมาณ 800 ชื่อ เช่น `print`, `paste` และ `c` ถูกกรองออกจากความสัมพันธ์

จุดเริ่มต้น MCP ที่มีประโยชน์

  • find_symbol

    ใช้กับชื่อฟังก์ชันทำความสะอาดข้อมูล สร้างโมเดล หรือเมธอด S3 เมื่อต้องการนิยามและผู้เรียก

  • dependency_search

    ใช้การท่องกราฟขาเข้าเพื่อดูว่างานวิเคราะห์ใดพึ่งพาฟังก์ชันตัวช่วยก่อนเปลี่ยนผลลัพธ์ของมัน

  • get_task_context

    ใช้กับพรอมต์อย่าง "ติดตามเส้นทางตั้งแต่การโหลดข้อมูลดิบไปจนถึงการถดถอยขั้นสุดท้าย"

คู่มือที่เกี่ยวข้อง

ส่วนอื่นของรีโพที่เกี่ยวข้อง

ดูคู่มือทั้งหมด
มรดกทางวิทยาศาสตร์ การเขียนโปรแกรม

Fortran บน Maguyva: กราฟโค้ดสำหรับโค้ดเบสงานวิทยาศาสตร์

สำหรับโค้ดเชิงตัวเลขที่อยู่มานานกว่าผู้เขียน กราฟการเรียกคือเอกสารชิ้นแรก

รองรับ AST และสัญลักษณ์ การแยกวิเคราะห์ AST การสกัดสัญลักษณ์ ความสัมพันธ์ในกราฟ

นามสกุลไฟล์

.f, .f03, .f08, .f90, +อีก 3

เปิดคู่มือ
ระบบไดนามิก การเขียนโปรแกรม

การรองรับ Python ใน Maguyva: ค้นหาโค้ดและรีแฟกเตอร์ด้วย AI

มีประโยชน์เมื่อโค้ดเบส Python กระจายไปทั่ว service, สคริปต์, stub ชนิดข้อมูล และโค้ดที่เชื่อมโยงส่วนต่างๆ ในการปฏิบัติงาน

รองรับ AST และสัญลักษณ์ การแยกวิเคราะห์ AST การสกัดสัญลักษณ์ ความสัมพันธ์ในกราฟ

นามสกุลไฟล์

.py, .pyi, .pyw

เปิดคู่มือ