Siirry sisältöön
cd /languages
  • Tilastollinen laskenta
  • Ohjelmointi
  • AST- ja symbolituki

R-tuki Maguyva-palvelussa: koodigraafit analyysi- ja pakettikoodille

Maguyva tukee R-kieltä AST-jäsennyksellä, symboleilla ja graafilla, jotta tekoälyagentit voivat seurata funktioita, S3- ja S4-dispatchia ja mallien sovituskutsuja R-skripteissä ja -paketeissa.

Missä R kampittaa pinnallisia tekoälytyökaluja

R laittaa perusfunktiot, pakettien funktiot ja omat funktiosi yhteen litteään nimiavaruuteen. Pisteet ovat osa nimiä eivätkä jäsenviittauksia: is.na, data.frame ja print.summary_table ovat yksittäisiä tunnisteita. Työkalu, joka lukee print.summary_table-nimen metodiksi kohteessa print, ymmärtää rakenteen väärin, ja työkalu, joka tallentaa jokaisen peruskutsun, hautaa funktiosi kutsujen c() ja paste() alle.

Maguyva pitää R:n nimet kokonaisina ja suodattaa perusfunktioiden kohinan pois, joten agentti näkee funktiot, joista analyysisi todella riippuu.

Mitä Maguyva poimii R-koodista

Maguyva liittää .R-, .Rmd- ja .Rnw-tiedostot R-kieleen. Nimeen sijoitetut funktiot, kuten clean_survey <- function(df), poimitaan kyseisellä nimellä, eikä nimettömiä funktioita käsitellä määritelminä. Pisteellisiä nimiä ei koskaan jaeta vastaanottajaksi ja jäseneksi.

Osa base-R:n kutsuista jätetään tarkoituksella graafiin, koska ne näyttävät, miten analyysikoodi on kytketty: S3- ja S4-dispatch (UseMethod, standardGeneric), apply-perhe (lapply, sapply, vapply, mapply), mallien sovitus (lm, predict, anova), pakettien lataus (library, require) ja virheenkäsittely tryCatch-kutsulla.

Graafi tallentaa myös instanssien luonnit sekä luvut ja kirjoitukset.

Esimerkkikehotteita agenteille

  • ”Kuka kutsuu funktiota clean_survey ja mitkä mallit käyttävät sen tulosta?” (find_symbol, sitten dependency_search incoming)
  • ”Mitkä funktiot kutsuvat funktiota fit_model?” (dependency_search)
  • ”Jäljitä polku funktiosta load_raw_data lopulliseen regressioon.” (get_task_context)

Tunnetut rajoitukset

  • Noin 800 base-R:n, stats-paketin ja graphics-paketin nimeä suodatetaan pois suhteista, kuten print, paste, c, data.frame, piirtokutsut ja satunnaislukugeneraattorit. Käytä niihin text_pattern_search-työkalua.
  • R luo luokat ja lataa paketit tavallisilla funktiokutsuilla, joten structural_search-työkalun esiasetukset classes, imports ja variables eivät valitse mitään. Käytä find_symbol- ja text_pattern_search-työkaluja.
  • .Rmd- ja .Rnw-tiedostot luetaan kokonaisuudessaan R:n kieliopilla eikä lohko kerrallaan, joten R Markdown- ja Sweave-dokumenteista saadaan todennäköisesti vain osittaisia tuloksia.
  • R:ssä ei ole dekoraattorisyntaksia, joten dekoraattorisuhteet on merkitty soveltumattomiksi.

Seuraavat vaiheet

Yhdistä repositorio pikaoppaan avulla ja tarkista sitten tukimatriisi yhteensopivuussivulta. Sekalaisissa datatieteen repositorioissa lue myös Python-opas.

Parhaiten sopii

  • > R-paketit, joissa on paljon vietyjä funktioita, S3-metodeja ja sisäisiä apufunktioita.
  • > Skripteihin jaetut analyysiputket, jotka jakavat datan siivous- ja mallinnusfunktioita.
  • > Datatiimit, jotka antavat R-koodia tekoälyagenteille, joiden on nähtävä, mitkä funktiot syöttävät mitäkin malleja.

Agenttien työnkulut

  • > Löytää datan siivousfunktion kaikki kutsujat ennen sen palauttamien sarakkeiden muuttamista.
  • > Jäljittää, mitkä funktiot välittävät kutsuja `UseMethod`-kutsulla ja missä niiden metodit ovat.
  • > Kartoittaa polku raakadatan lataamisesta sovitettuun malliin.

Moottorin yksityiskohdat

  • > R-tuki liittää `.R`-, `.Rmd`- ja `.Rnw`-tiedostot R-kieleen. Nimeen sijoitetut funktiot poimitaan kyseisellä nimellä, ja pisteelliset nimet kuten `data.frame` pysyvät kokonaisina.
  • > S3- ja S4-dispatch (`UseMethod`, `standardGeneric`), apply-perhe, `lm`, `predict` ja `tryCatch` jätetään tarkoituksella graafiin.
  • > Noin 800 base-R:n, `stats`- ja `graphics`-pakettien nimeä, kuten `print`, `paste` ja `c`, suodatetaan pois suhteista.

Hyödylliset MCP-liittymäkohdat

  • find_symbol

    Käytä sitä siivous-, mallinnus- tai S3-metodin nimelle, kun tarvitset määritelmän ja kutsujat.

  • dependency_search

    Käytä incoming-läpikäyntiä apufunktiolle nähdäksesi, mitkä analyysit riippuvat siitä, ennen sen tuloksen muuttamista.

  • get_task_context

    Käytä sitä kehotteisiin kuten ”jäljitä polku raakadatan lataamisesta lopulliseen regressioon”.