Přeskočit na obsah
cd /languages
  • Statistické výpočty
  • Programování
  • Podpora AST a symbolů

R v Maguyva: grafy kódu pro analýzy a balíčky

Maguyva podporuje R s AST, symboly a grafem, takže AI agenti sledují funkce, dispatch S3 a S4 a volání pro fitování modelů napříč skripty a balíčky R.

Kde R podráží povrchní AI nástroje

R dává základní funkce, funkce z balíčků i vaše vlastní do jednoho plochého jmenného prostoru. Tečky jsou součástí jmen, ne přístupem ke členu: is.na, data.frame i print.summary_table jsou jednotlivé identifikátory. Nástroj, který čte print.summary_table jako metodu na print, pochopí strukturu špatně, a nástroj, který zaznamená každé základní volání, pohřbí vaše funkce pod c() a paste().

Maguyva nechává jména v R celá a odfiltruje šum základních funkcí, takže agent vidí funkce, na kterých vaše analýza skutečně závisí.

Co Maguyva v R extrahuje

Maguyva přiřazuje soubory .R, .Rmd a .Rnw k jazyku R. Funkce přiřazené jménu, například clean_survey <- function(df), se extrahují pod tímto jménem a anonymní funkce se za definice nepovažují. Jména s tečkami se nikdy nedělí na příjemce a člena.

Některá volání základního R v grafu zůstávají záměrně, protože ukazují, jak je analytický kód propojený: dispatch S3 a S4 (UseMethod, standardGeneric), rodina apply (lapply, sapply, vapply, mapply), fitování modelů (lm, predict, anova), načítání balíčků (library, require) a ošetření chyb pomocí tryCatch.

Graf zaznamenává také vytváření instancí a čtení a zápisy.

Ukázkové prompty pro agenty

  • „Kdo volá clean_survey a které modely používají její výstup?“ (find_symbol, pak dependency_search incoming)
  • „Které funkce volají fit_model?“ (dependency_search)
  • „Vysleduj cestu od load_raw_data k závěrečné regresi.“ (get_task_context)

Známá omezení

  • Asi 800 názvů ze základního R, stats a graphics se z relací odfiltruje, například print, paste, c, data.frame, volání pro grafy a generátory náhodných čísel. Pro ně použijte text_pattern_search.
  • R vytváří třídy a načítá balíčky běžnými voláními funkcí, takže presety classes, imports a variables v structural_search nic nevyberou. Použijte find_symbol a text_pattern_search.
  • Soubory .Rmd a .Rnw se čtou celé gramatikou R, ne po jednotlivých blocích kódu, takže u dokumentů R Markdown a Sweave počítejte s neúplnými výsledky.
  • R nemá syntaxi dekorátorů, proto jsou relace dekorátorů označeny jako nepoužitelné.

Další kroky

Připojte repozitář podle rychlého startu a pak si prohlédněte matici podpory na stránce kompatibility. U smíšených datových repozitářů si přečtěte i průvodce jazykem Python.

Nejlépe se hodí pro

  • > Balíčky R s mnoha exportovanými funkcemi, metodami S3 a interními pomocnými funkcemi.
  • > Analytické pipeline rozdělené do skriptů, které sdílejí funkce pro čištění dat a modelování.
  • > Datové týmy, které předávají kód R AI agentům, jež potřebují vidět, které funkce napájejí které modely.

Workflow agentů

  • > Najít všechna volání funkce pro čištění dat před změnou sloupců, které vrací.
  • > Vysledovat, které funkce rozesílají volání přes `UseMethod` a kde jsou jejich metody.
  • > Zmapovat cestu od načtení surových dat k nafitovanému modelu.

Podrobnosti enginu

  • > Podpora R přiřazuje `.R`, `.Rmd` a `.Rnw` k jazyku R. Funkce přiřazené jménu se extrahují pod tímto jménem a jména s tečkami jako `data.frame` zůstávají celá.
  • > Dispatch S3 a S4 (`UseMethod`, `standardGeneric`), rodina apply, `lm`, `predict` a `tryCatch` v grafu záměrně zůstávají.
  • > Asi 800 názvů ze základního R, `stats` a `graphics`, například `print`, `paste` a `c`, se z relací odfiltruje.

Užitečné vstupní body MCP

  • find_symbol

    Použijte ho pro název funkce pro čištění, modelování nebo metody S3, když potřebujete definici a volající.

  • dependency_search

    Použijte incoming procházení na pomocné funkci, abyste před změnou jejího výstupu viděli, které analýzy na ní závisí.

  • get_task_context

    Použijte ho pro prompty jako „vysleduj cestu od načtení surových dat k závěrečné regresi“.