# R sa Maguyva: mga code graph para sa analysis at package code

Canonical source: https://maguyva.ai/fil/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).

Sinusuportahan ng Maguyva ang R gamit ang AST, mga symbol at graph, para ma-trace ng mga AI agent ang mga function, S3 at S4 dispatch, at model-fitting call sa mga R script at package.

## Snapshot ng support

- Antas: Support para sa AST at mga simbolo
- Programming
- Mga extension: .r, .rmd, .rnw
- Tunay na AST parsing para sa syntax-aware search at structural context.
- Pinapagana ng mga named symbol ang semantic lookup at cross-reference. Available ang graph navigation kapag naka-enable ang pagkuha ng mga ugnayan.
- Nag-aambag ang wikang ito ng mga simbolo at ugnayan sa graph-aware search; nag-iiba ang mga sinusuportahang uri ng edge ayon sa mga native construct nito.
- Available ang AST parsing at symbol extraction.

## Pinakabagay

- Mga R package na may maraming exported function, S3 method at internal helper.
- Mga analysis pipeline na hinati sa mga script na kahati sa data-cleaning at modelling function.
- Mga data team na nagbibigay ng R code sa mga AI agent na kailangang makita kung aling mga function ang nagpapakain sa aling mga model.

## Mga workflow ng agent

- Hanapin ang lahat ng tumatawag sa isang data-cleaning function bago baguhin ang mga column na ibinabalik nito.
- I-trace kung aling mga function ang nagdi-dispatch gamit ang `UseMethod` at kung saan nakatira ang mga method nila.
- I-map ang daan mula sa pag-load ng raw data hanggang sa na-fit na model.

## Saan nalilito ang mababaw na AI tool sa R

Inilalagay ng R ang mga base function, package function at sarili mong mga function sa iisang flat namespace. Bahagi ng pangalan ang mga tuldok, hindi member access: iisang identifier ang `is.na`, `data.frame` at `print.summary_table`. Mali ang pagkaintindi sa istruktura ng tool na bumabasa sa `print.summary_table` bilang method sa `print`, at ibinabaon ng tool na nagtatala ng bawat base call ang mga function mo sa ilalim ng `c()` at `paste()`.

Pinapanatiling buo ng Maguyva ang mga pangalan sa R at nifi-filter ang ingay mula sa base function, para makita ng agent ang mga function na talagang inaasahan ng iyong analysis.

## Ano ang kinukuha ng Maguyva mula sa R

Iminamapa ng Maguyva sa R ang mga `.R`, `.Rmd` at `.Rnw` file. Kinukuha sa pangalang iyon ang mga function na naka-assign sa isang pangalan, gaya ng `clean_survey <- function(df)`; hindi itinuturing na definition ang mga anonymous function. Hindi kailanman hinahati sa receiver at member ang mga pangalang may tuldok.

Sinasadyang iniiwan sa graph ang ilang base R call dahil ipinapakita nila kung paano nagkakaugnay ang analysis code: S3 at S4 dispatch (`UseMethod`, `standardGeneric`), ang apply family (`lapply`, `sapply`, `vapply`, `mapply`), model fitting (`lm`, `predict`, `anova`), pag-load ng package (`library`, `require`), at error handling gamit ang `tryCatch`.

Itinatala rin ng graph ang instantiation at ang mga read at write.

## Mga halimbawang agent prompt

- "Sino ang tumatawag sa `clean_survey`, at aling mga model ang gumagamit ng output nito?" (`find_symbol`, tapos `dependency_search` na incoming)
- "Aling mga function ang tumatawag sa `fit_model`?" (`dependency_search`)
- "I-trace ang daan mula sa `load_raw_data` hanggang sa huling regression." (`get_task_context`)

## Mga kilalang limitasyon

- Mga 800 pangalan mula sa base R, `stats` at `graphics` ang nifi-filter mula sa mga relationship, tulad ng `print`, `paste`, `c`, `data.frame`, mga plotting call at mga random-number generator. Gamitin ang `text_pattern_search` para sa mga iyon.
- Gumagawa ang R ng mga class at naglo-load ng mga package gamit ang karaniwang function call, kaya walang napipili ang mga `classes`, `imports` at `variables` preset sa `structural_search`. Gamitin ang `find_symbol` at `text_pattern_search`.
- Binabasa nang buo gamit ang R grammar ang mga `.Rmd` at `.Rnw` file, hindi bawat chunk; asahan ang hindi kumpletong resulta sa mga R Markdown at Sweave document.
- Walang decorator syntax ang R, kaya minarkahang hindi naaangkop ang mga decorator relationship.

## Mga susunod na hakbang

Mag-connect ng repository gamit ang [quickstart](/fil/docs/quickstart), tapos tingnan ang support matrix sa [compatibility page](/fil/docs/compatibility). Para sa mga halo-halong data-science repository, basahin din ang [gabay sa Python](/fil/languages/python).

## Mga detalye ng engine

- Iminamapa ng suporta sa R ang mga `.R`, `.Rmd` at `.Rnw` file sa R. Kinukuha sa pangalang iyon ang mga function na naka-assign sa isang pangalan, at nananatiling buo ang mga pangalang may tuldok tulad ng `data.frame`.
- Sinasadyang iniiwan sa graph ang S3 at S4 dispatch (`UseMethod`, `standardGeneric`), ang apply family, `lm`, `predict` at `tryCatch`.
- Mga 800 pangalan mula sa base R, `stats` at `graphics`, tulad ng `print`, `paste` at `c`, ang nifi-filter mula sa mga relationship.

## Mga kapaki-pakinabang na MCP entry point

- `find_symbol`: Gamitin para sa pangalan ng cleaning, modelling o S3 method kapag kailangan mo ang definition at mga caller.
- `dependency_search`: Gumamit ng incoming traversal para makita kung aling mga analysis ang umaasa sa isang helper bago baguhin ang output nito.
- `get_task_context`: Gamitin para sa mga prompt tulad ng "i-trace ang daan mula sa pag-load ng raw data hanggang sa huling regression".
