Chuyển tới nội dung
cd /languages
  • Tính toán thống kê
  • Lập trình
  • Hỗ trợ AST và symbol

R trên Maguyva: đồ thị mã cho phân tích và gói

Maguyva hỗ trợ R với AST, ký hiệu và đồ thị, để agent AI có thể lần theo hàm, điều phối S3 và S4, và lời gọi khớp mô hình qua các tập lệnh và gói R.

R làm khó các công cụ AI hời hợt ở đâu

R đặt hàm cơ sở, hàm của gói và hàm của bạn trong cùng một namespace phẳng. Dấu chấm là một phần của tên, không phải truy cập thành viên: is.na, data.frame và print.summary_table là những định danh đơn. Một công cụ đọc print.summary_table như một phương thức trên print sẽ hiểu sai cấu trúc, còn một công cụ ghi lại mọi lời gọi cơ sở sẽ vùi hàm của bạn dưới c() và paste().

Maguyva giữ nguyên tên R và lọc nhiễu từ các hàm cơ sở, để agent thấy những hàm mà phân tích của bạn thực sự phụ thuộc.

Maguyva trích xuất gì từ R

Maguyva ánh xạ các tệp .R, .Rmd và .Rnw sang R. Hàm được gán cho một tên, như clean_survey <- function(df), được trích xuất với tên đó; hàm ẩn danh không được xem là định nghĩa. Tên có dấu chấm không bao giờ bị tách thành receiver và thành viên.

Một số lời gọi R cơ sở được cố ý giữ lại trong đồ thị vì chúng cho thấy cách mã phân tích kết nối với nhau: điều phối S3 và S4 (UseMethod, standardGeneric), họ apply (lapply, sapply, vapply, mapply), khớp mô hình (lm, predict, anova), nạp gói (library, require) và xử lý lỗi bằng tryCatch.

Đồ thị còn ghi lại việc khởi tạo đối tượng cùng thao tác đọc và ghi.

Ví dụ prompt cho agent

  • “Ai gọi clean_survey, và những mô hình nào dùng đầu ra của nó?” (find_symbol, sau đó dependency_search theo chiều vào)
  • “Những hàm nào gọi fit_model?” (dependency_search)
  • “Lần theo đường đi từ load_raw_data tới mô hình hồi quy cuối cùng.” (get_task_context)

Giới hạn đã biết

  • Khoảng 800 tên từ R cơ sở, stats và graphics bị lọc khỏi quan hệ, như print, paste, c, data.frame, các lời gọi vẽ biểu đồ và bộ sinh số ngẫu nhiên. Dùng text_pattern_search cho chúng.
  • R tạo lớp và nạp gói bằng lời gọi hàm thông thường, nên các preset classes, imports và variables trong structural_search không chọn được gì. Hãy dùng find_symbol và text_pattern_search.
  • Tệp .Rmd và .Rnw được đọc toàn bộ bằng ngữ pháp R, không theo từng khối mã; hãy dự kiến kết quả không đầy đủ với tài liệu R Markdown và Sweave.
  • R không có cú pháp decorator, nên các quan hệ decorator được đánh dấu là không áp dụng.

Bước tiếp theo

Kết nối một kho mã bằng hướng dẫn bắt đầu nhanh, sau đó xem ma trận hỗ trợ trên trang tương thích. Với các kho khoa học dữ liệu hỗn hợp, hãy đọc thêm hướng dẫn Python.

Phù hợp nhất

  • > Gói R có nhiều hàm được export, phương thức S3 và hàm trợ giúp nội bộ.
  • > Pipeline phân tích được chia thành các tập lệnh dùng chung hàm làm sạch dữ liệu và mô hình hóa.
  • > Nhóm dữ liệu giao mã R cho agent AI cần thấy hàm nào cung cấp dữ liệu cho mô hình nào.

Workflow agent

  • > Tìm mọi nơi gọi một hàm làm sạch dữ liệu trước khi đổi các cột nó trả về.
  • > Lần theo những hàm điều phối bằng `UseMethod` và nơi chứa các phương thức của chúng.
  • > Lập bản đồ đường đi từ lúc nạp dữ liệu thô tới mô hình đã khớp.

Chi tiết engine

  • > Hỗ trợ R bao gồm các tệp `.R`, `.Rmd` và `.Rnw`. Hàm được gán cho một tên được trích xuất với tên đó, và tên có dấu chấm như `data.frame` được giữ nguyên.
  • > Điều phối S3 và S4 (`UseMethod`, `standardGeneric`), họ apply, `lm`, `predict` và `tryCatch` được cố ý giữ lại trong đồ thị.
  • > Khoảng 800 tên từ R cơ sở, `stats` và `graphics`, như `print`, `paste` và `c`, bị lọc khỏi quan hệ.

Điểm khởi đầu MCP hữu ích

  • find_symbol

    Dùng cho tên hàm làm sạch, mô hình hóa hoặc phương thức S3 khi bạn cần định nghĩa và nơi gọi.

  • dependency_search

    Dùng duyệt theo chiều vào để thấy những phân tích nào phụ thuộc vào một hàm trợ giúp trước khi đổi đầu ra của nó.

  • get_task_context

    Dùng cho prompt như "lần theo đường đi từ lúc nạp dữ liệu thô tới mô hình hồi quy cuối cùng".