# Maguyva में R: एनालिसिस और पैकेज कोड के लिए कोड ग्राफ़

Canonical source: https://maguyva.ai/hi/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, R को AST, सिंबल और ग्राफ़ के साथ सपोर्ट करता है, ताकि AI एजेंट R स्क्रिप्ट और पैकेज के पार फ़ंक्शन, S3 और S4 डिस्पैच, और मॉडल-फ़िटिंग कॉल को ट्रेस कर सकें।

## सपोर्ट स्नैपशॉट

- टियर: AST और सिंबल सपोर्ट
- प्रोग्रामिंग
- एक्सटेंशन: .r, .rmd, .rnw
- सिंटैक्स-अवेयर सर्च और स्ट्रक्चरल कॉन्टेक्स्ट के लिए असली AST पार्सिंग।
- नामित सिंबल सिमेंटिक लुकअप और क्रॉस-रेफ़रेंस को फ़ीड करते हैं। रिलेशनशिप एक्सट्रैक्शन सक्षम होने पर ग्राफ़ नेविगेशन उपलब्ध होता है।
- यह भाषा ग्राफ़-अवेयर सर्च में सिंबल्स और रिलेशनशिप्स जोड़ती है; सपोर्टेड एज प्रकार इसके नेटिव कंस्ट्रक्ट्स के अनुसार बदलते हैं।
- AST पार्सिंग और सिंबल एक्सट्रैक्शन, दोनों उपलब्ध हैं।

## सबसे उपयुक्त

- कई एक्सपोर्ट किए गए फ़ंक्शन, S3 मेथड और आंतरिक हेल्पर वाले R पैकेज।
- ऐसी एनालिसिस पाइपलाइन जो डेटा-क्लीनिंग और मॉडलिंग फ़ंक्शन साझा करने वाली स्क्रिप्ट में बँटी हैं।
- ऐसी डेटा टीमें जो R कोड उन AI एजेंट को देती हैं जिन्हें देखना होता है कि कौन-से फ़ंक्शन किन मॉडल को डेटा देते हैं।

## एजेंट वर्कफ़्लो

- किसी डेटा-क्लीनिंग फ़ंक्शन के लौटाए कॉलम बदलने से पहले उसके सभी कॉलर ढूँढना।
- ट्रेस करना कि कौन-से फ़ंक्शन `UseMethod` से डिस्पैच करते हैं और उनके मेथड कहाँ हैं।
- कच्चा डेटा लोड करने से लेकर फ़िट किए गए मॉडल तक का रास्ता मैप करना।

## R सतही AI टूल को कहाँ उलझाती है

R बेस फ़ंक्शन, पैकेज फ़ंक्शन और आपके फ़ंक्शन को एक ही सपाट नेमस्पेस में रखती है। डॉट नाम का हिस्सा है, सदस्य एक्सेस नहीं: `is.na`, `data.frame` और `print.summary_table` एकल पहचानकर्ता हैं। जो टूल `print.summary_table` को `print` पर एक मेथड की तरह पढ़ता है, वह संरचना को गलत समझता है, और जो टूल हर बेस कॉल दर्ज करता है, वह आपके फ़ंक्शन को `c()` और `paste()` के नीचे दबा देता है।

Maguyva R नामों को पूरा रखता है और बेस फ़ंक्शन के शोर को फ़िल्टर करता है, ताकि एजेंट वे फ़ंक्शन देखे जिन पर आपका एनालिसिस सच में निर्भर है।

## Maguyva, R से क्या निकालता है

Maguyva `.R`, `.Rmd` और `.Rnw` फ़ाइलों को R से जोड़ता है। किसी नाम को असाइन किए गए फ़ंक्शन, जैसे `clean_survey <- function(df)`, उसी नाम से निकाले जाते हैं; अनाम फ़ंक्शन को परिभाषा नहीं माना जाता। डॉट वाले नाम कभी रिसीवर और सदस्य में नहीं तोड़े जाते।

कुछ बेस R कॉल जानबूझकर ग्राफ़ में रखे जाते हैं क्योंकि वे दिखाते हैं कि एनालिसिस कोड आपस में कैसे जुड़ा है: S3 और S4 डिस्पैच (`UseMethod`, `standardGeneric`), apply परिवार (`lapply`, `sapply`, `vapply`, `mapply`), मॉडल फ़िटिंग (`lm`, `predict`, `anova`), पैकेज लोडिंग (`library`, `require`), और `tryCatch` से एरर हैंडलिंग।

ग्राफ़ इंस्टैंशिएशन और रीड तथा राइट भी दर्ज करता है।

## एजेंट प्रॉम्प्ट के उदाहरण

- "`clean_survey` को कौन कॉल करता है, और कौन-से मॉडल उसका आउटपुट इस्तेमाल करते हैं?" (`find_symbol`, फिर `dependency_search` इनकमिंग)
- "कौन-से फ़ंक्शन `fit_model` को कॉल करते हैं?" (`dependency_search`)
- "`load_raw_data` से अंतिम रिग्रेशन तक का रास्ता ट्रेस करो।" (`get_task_context`)

## ज्ञात सीमाएँ

- बेस R, `stats` और `graphics` के लगभग 800 नाम संबंधों से फ़िल्टर किए जाते हैं, जैसे `print`, `paste`, `c`, `data.frame`, प्लॉटिंग कॉल और रैंडम-नंबर जनरेटर। इनके लिए `text_pattern_search` इस्तेमाल करें।
- R सामान्य फ़ंक्शन कॉल से क्लास बनाती है और पैकेज लोड करती है, इसलिए `structural_search` में `classes`, `imports` और `variables` प्रीसेट कुछ भी नहीं चुनते। `find_symbol` और `text_pattern_search` इस्तेमाल करें।
- `.Rmd` और `.Rnw` फ़ाइलें चंक के हिसाब से नहीं, पूरी तरह R ग्रामर से पढ़ी जाती हैं; R Markdown और Sweave दस्तावेज़ों में अधूरे नतीजों की अपेक्षा करें।
- R में डेकोरेटर सिंटैक्स नहीं है, इसलिए डेकोरेटर संबंध लागू नहीं के रूप में चिह्नित हैं।

## अगले कदम

[क्विकस्टार्ट](/hi/docs/quickstart) से रिपॉज़िटरी जोड़ें, फिर सपोर्ट मैट्रिक्स [कम्पैटिबिलिटी पेज](/hi/docs/compatibility) पर देखें। मिश्रित डेटा-साइंस रिपॉज़िटरी के लिए [Python गाइड](/hi/languages/python) भी पढ़ें।

## इंजन विवरण

- R सपोर्ट `.R`, `.Rmd` और `.Rnw` फ़ाइलों को R से जोड़ता है। किसी नाम को असाइन किए गए फ़ंक्शन उसी नाम से निकाले जाते हैं, और `data.frame` जैसे डॉट वाले नाम पूरे रहते हैं।
- S3 और S4 डिस्पैच (`UseMethod`, `standardGeneric`), apply परिवार, `lm`, `predict` और `tryCatch` जानबूझकर ग्राफ़ में रखे जाते हैं।
- बेस R, `stats` और `graphics` के लगभग 800 नाम, जैसे `print`, `paste` और `c`, संबंधों से फ़िल्टर किए जाते हैं।

## उपयोगी MCP एंट्री पॉइंट

- `find_symbol`: किसी क्लीनिंग, मॉडलिंग या S3 मेथड नाम के लिए इस्तेमाल करें जब आपको परिभाषा और कॉलर चाहिए।
- `dependency_search`: किसी हेल्पर का आउटपुट बदलने से पहले यह देखने के लिए इनकमिंग ट्रैवर्सल इस्तेमाल करें कि कौन-से एनालिसिस उस पर निर्भर हैं।
- `get_task_context`: "कच्चा डेटा लोड करने से अंतिम रिग्रेशन तक का रास्ता ट्रेस करो" जैसे प्रॉम्प्ट के लिए इस्तेमाल करें।
