# R i Maguyva: kodgrafer för analys- och paketkod

Canonical source: https://maguyva.ai/sv/languages/r

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva stöder R med AST, symboler och graf, så att AI-agenter kan följa funktioner, S3- och S4-dispatch och modellanpassningsanrop i R-skript och -paket.

## Stödöversikt

- Nivå: Stöd för AST och symboler
- Programmering
- Filändelser: .r, .rmd, .rnw
- Riktig AST-parsning för syntaxmedveten sökning och strukturell kontext.
- Namngivna symboler driver semantisk uppslagning och korsreferenser. Grafnavigering är tillgänglig när relationsextraktion är aktiverad.
- Det här språket bidrar med symboler och relationer till grafmedveten sökning; vilka kanttyper som stöds varierar med språkets inbyggda konstruktioner.
- Både AST-parsning och symbolextraktion är tillgängliga.

## Bäst lämpad för

- R-paket med många exporterade funktioner, S3-metoder och interna hjälpfunktioner.
- Analyspipelines uppdelade på skript som delar funktioner för datatvätt och modellering.
- Datateam som lämnar över R-kod till AI-agenter som behöver se vilka funktioner som matar vilka modeller.

## Agentarbetsflöden

- Hitta alla anropare av en datatvättfunktion innan kolumnerna den returnerar ändras.
- Spåra vilka funktioner som dispatchar via `UseMethod` och var deras metoder finns.
- Kartlägga vägen från inläsning av rådata till en anpassad modell.

## Där R får ytliga AI-verktyg att snubbla

R lägger basfunktioner, paketfunktioner och dina egna i ett enda platt namnutrymme. Punkter är en del av namnen, inte medlemsåtkomst: `is.na`, `data.frame` och `print.summary_table` är enskilda identifierare. Ett verktyg som läser `print.summary_table` som en metod på `print` får strukturen fel, och ett som registrerar varje basanrop begraver dina funktioner under `c()` och `paste()`.

Maguyva håller R-namn hela och filtrerar bort bruset från basfunktionerna, så att en agent ser de funktioner som din analys faktiskt beror på.

## Vad Maguyva extraherar i R

Maguyva kopplar `.R`-, `.Rmd`- och `.Rnw`-filer till R. Funktioner som tilldelas ett namn, som `clean_survey <- function(df)`, extraheras under det namnet, och anonyma funktioner behandlas inte som definitioner. Namn med punkter delas aldrig upp i mottagare och medlem.

Vissa anrop i bas-R ligger medvetet kvar i grafen, eftersom de visar hur analyskoden hänger ihop: S3- och S4-dispatch (`UseMethod`, `standardGeneric`), apply-familjen (`lapply`, `sapply`, `vapply`, `mapply`), modellanpassning (`lm`, `predict`, `anova`), paketladdning (`library`, `require`) och felhantering med `tryCatch`.

Grafen registrerar också instansiering samt läsningar och skrivningar.

## Exempel på prompter för agenter

- "Vem anropar `clean_survey`, och vilka modeller använder dess utdata?" (`find_symbol`, sedan `dependency_search` incoming)
- "Vilka funktioner anropar `fit_model`?" (`dependency_search`)
- "Spåra vägen från `load_raw_data` till den slutliga regressionen." (`get_task_context`)

## Kända begränsningar

- Omkring 800 namn från bas-R, `stats` och `graphics` filtreras bort från relationerna, som `print`, `paste`, `c`, `data.frame`, diagramanrop och slumptalsgeneratorer. Använd `text_pattern_search` för dem.
- R skapar klasser och laddar paket med vanliga funktionsanrop, så presetet `classes`, `imports` och `variables` i `structural_search` väljer ingenting. Använd `find_symbol` och `text_pattern_search`.
- `.Rmd`- och `.Rnw`-filer läses i sin helhet med R-grammatiken i stället för chunk för chunk, så räkna med ofullständiga resultat för R Markdown- och Sweave-dokument.
- R har ingen dekoratorsyntax, så dekoratorrelationer är markerade som ej tillämpliga.

## Nästa steg

Anslut ett repo med [snabbstarten](/sv/docs/quickstart) och kontrollera sedan stödmatrisen på [kompatibilitetssidan](/sv/docs/compatibility). För blandade datavetenskapsrepon, läs även [guiden för Python](/sv/languages/python).

## Motordetaljer

- R-stödet omfattar `.R`, `.Rmd` och `.Rnw`. Funktioner som tilldelas ett namn extraheras under det namnet, och namn med punkter som `data.frame` hålls hela.
- S3- och S4-dispatch (`UseMethod`, `standardGeneric`), apply-familjen, `lm`, `predict` och `tryCatch` ligger medvetet kvar i grafen.
- Omkring 800 namn från bas-R, `stats` och `graphics`, som `print`, `paste` och `c`, filtreras bort från relationerna.

## Användbara MCP-ingångar

- `find_symbol`: Använd det för namnet på en tvätt-, modellerings- eller S3-metod när du behöver definitionen och anroparna.
- `dependency_search`: Använd incoming-traversering på en hjälpfunktion för att se vilka analyser som beror på den innan dess utdata ändras.
- `get_task_context`: Använd det för prompter som "spåra vägen från inläsning av rådata till den slutliga regressionen".
