Hopp til innhold
cd /languages
  • Statistiske beregninger
  • Programmering
  • AST- og symbolstøtte

R i Maguyva: kodegrafer for analyse- og pakkekode

Maguyva støtter R med AST, symboler og graf, slik at AI-agenter kan følge funksjoner, S3- og S4-dispatch og modelltilpasningskall i R-skript og -pakker.

Der R får overfladiske AI-verktøy til å snuble

R legger basefunksjoner, pakkefunksjoner og dine egne i ett flatt navnerom. Punktum er en del av navnene, ikke medlemstilgang: is.na, data.frame og print.summary_table er enkeltidentifikatorer. Et verktøy som leser print.summary_table som en metode på print, får strukturen feil, og et som registrerer hvert basekall, begraver funksjonene dine under c() og paste().

Maguyva holder R-navn hele og filtrerer bort støyen fra basefunksjonene, slik at en agent ser funksjonene analysen din faktisk avhenger av.

Hva Maguyva henter ut i R

Maguyva knytter .R-, .Rmd- og .Rnw-filer til R. Funksjoner som tilordnes et navn, som clean_survey <- function(df), hentes ut under det navnet, og anonyme funksjoner behandles ikke som definisjoner. Navn med punktum deles aldri opp i mottaker og medlem.

Noen kall i base-R blir bevisst værende i grafen, fordi de viser hvordan analysekoden henger sammen: S3- og S4-dispatch (UseMethod, standardGeneric), apply-familien (lapply, sapply, vapply, mapply), modelltilpasning (lm, predict, anova), pakkelasting (library, require) og feilhåndtering med tryCatch.

Grafen registrerer også instansiering og lesinger og skrivinger.

Eksempler på prompter for agenter

  • «Hvem kaller clean_survey, og hvilke modeller bruker utdataene?» (find_symbol, deretter dependency_search incoming)
  • «Hvilke funksjoner kaller fit_model?» (dependency_search)
  • «Spor veien fra load_raw_data til den endelige regresjonen.» (get_task_context)

Kjente begrensninger

  • Rundt 800 navn fra base-R, stats og graphics filtreres bort fra relasjonene, som print, paste, c, data.frame, plottekall og tilfeldighetsgeneratorer. Bruk text_pattern_search for dem.
  • R lager klasser og laster pakker med vanlige funksjonskall, så presetene classes, imports og variables i structural_search velger ingenting. Bruk find_symbol og text_pattern_search.
  • .Rmd- og .Rnw-filer leses i sin helhet med R-grammatikken i stedet for bit for bit, så regn med ufullstendige resultater for R Markdown- og Sweave-dokumenter.
  • R har ikke dekoratorsyntaks, så dekoratorrelasjoner er merket som ikke relevante.

Neste steg

Koble til et repositorium med hurtigstarten, og se deretter støttematrisen på kompatibilitetssiden. For blandede datavitenskapsrepositorier bør du også lese veiledningen for Python.

Best egnet

  • > R-pakker med mange eksporterte funksjoner, S3-metoder og interne hjelpefunksjoner.
  • > Analysepipelines fordelt på skript som deler funksjoner for datavask og modellering.
  • > Datateam som gir R-kode til AI-agenter som trenger å se hvilke funksjoner som mater hvilke modeller.

Agent-arbeidsflyter

  • > Finne alle kallere av en datavaskfunksjon før kolonnene den returnerer endres.
  • > Spore hvilke funksjoner som dispatcher via `UseMethod` og hvor metodene deres ligger.
  • > Kartlegge veien fra innlasting av rådata til en tilpasset modell.

Motordetaljer

  • > R-støtten knytter `.R`, `.Rmd` og `.Rnw` til R. Funksjoner som tilordnes et navn, hentes ut under det navnet, og navn med punktum som `data.frame` holdes hele.
  • > S3- og S4-dispatch (`UseMethod`, `standardGeneric`), apply-familien, `lm`, `predict` og `tryCatch` blir bevisst værende i grafen.
  • > Rundt 800 navn fra base-R, `stats` og `graphics`, som `print`, `paste` og `c`, filtreres bort fra relasjonene.

Nyttige MCP-inngangspunkter

  • find_symbol

    Bruk det for navnet på en vaske-, modellerings- eller S3-metode når du trenger definisjonen og kallerne.

  • dependency_search

    Bruk incoming-traversering på en hjelpefunksjon for å se hvilke analyser som avhenger av den før utdataene endres.

  • get_task_context

    Bruk det for prompter som «spor veien fra innlasting av rådata til den endelige regresjonen».