Egyéni R-modulok definiálása a Machine Learning Studióhoz (klasszikus)
HATÓKÖR: A Machine Learning Studio (klasszikus) Azure Machine Learning
Fontos
A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.
2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.
- További információ a gépi tanulási projektek ML Studióból (klasszikus) Azure Machine Learningbe való áthelyezéséről.
- További információ az Azure Machine Learningről
A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.
Ez a témakör azt ismerteti, hogyan lehet egyéni (klasszikus) R Studiót létrehozni és üzembe helyezni. Ismerteti az egyéni R-modulokat és a definiálásukhoz használt fájlokat. Bemutatja, hogyan hozhatja létre a modult definiáló fájlokat, és hogyan regisztrálhatja a modult az üzembe helyezéshez egy Machine Learning-munkaterületen. Az egyéni modul definíciójában használt elemeket és attribútumokat ezután részletesebben ismertetjük. A kiegészítő funkciók, a fájlok és a több kimenet használatának módját is tárgyaljuk.
Az egyéni modul egy felhasználó által definiált modul, amely feltölthető a munkaterületre, és végrehajtható a Machine Learning Studio (klasszikus) kísérletének részeként. Az egyéni R-modul egy egyéni modul, amely egy felhasználó által definiált R-függvényt hajt végre. Az R egy statisztikai számítástechnika és grafika programozási nyelve, amelyet a statisztikusok és az adattudósok széles körben használnak algoritmusok implementálásához. Jelenleg az R az egyetlen támogatott nyelv az egyéni modulokban, de a további nyelvek támogatása a jövőbeli kiadásokra lesz ütemezve.
Az egyéni modulok első osztályú állapotban vannak a Machine Learning Studióban (klasszikus), abban az értelemben, hogy ugyanúgy használhatók, mint bármely más modul. Más modulokkal is végrehajthatók, a közzétett kísérletekben vagy a vizualizációkban is. Ön szabályozhatja a modul által implementált algoritmust, a használni kívánt bemeneti és kimeneti portokat, a modellezési paramétereket és más különböző futtatókörnyezeti viselkedéseket. Az egyéni modulokat tartalmazó kísérletek az Azure AI-galériában is közzétehetők az egyszerű megosztás érdekében.
Fájlok egyéni R-modulban
Az egyéni R-modulokat egy .zip fájl határozza meg, amely legalább két fájlt tartalmaz:
- A modul által közzétett R-függvényt megvalósító forrásfájl
- Az egyéni modul felületét leíró XML-definíciós fájl
A .zip fájl további kiegészítő fájlokat is tartalmazhat, amelyek az egyéni modulból elérhető funkciókat biztosítják. Ezt a beállítást a rövid útmutató példáját követve, a hivatkozási szakasz Elemek szakaszÁnak Elemek szakaszában tárgyaljuk.
Rövid útmutató példa: egyéni R-modul definiálása, becsomagolása és regisztrálása
Ez a példa bemutatja, hogyan hozhatja létre az egyéni R-modulhoz szükséges fájlokat, csomagolhatja őket zip-fájlba, majd regisztrálhatja a modult a Machine Learning-munkaterületen. A zip-mintacsomag és a mintafájlok letölthetők a Download CustomAddRows.zip fájlból.
A forrásfájl
Vegyük példaként az Egyéni sorok hozzáadása modult, amely módosítja a sorok (megfigyelések) két adathalmazból (adatkeretekből) való összefűzéséhez használt Sorok hozzáadása modul szabványos implementációját. A standard Sorok hozzáadása modul az algoritmus használatával rbind
hozzáfűzi a második bemeneti adathalmaz sorait az első bemeneti adathalmaz végéhez. A testre szabott CustomAddRows
függvény hasonlóan fogad el két adathalmazt, de egy logikai felcserélési paramétert is elfogad további bemenetként. Ha a felcserélési paraméter FALSE (HAMIS) értékre van állítva, ugyanazt az adatkészletet adja vissza, mint a standard implementáció. Ha azonban a felcserélési paraméter IGAZ, a függvény az első bemeneti adathalmaz sorait fűzi hozzá a második adatkészlet végéhez. Az Egyéni sorok hozzáadása modul által közzétett R-függvény CustomAddRows
implementációját tartalmazó CustomAddRows.R fájl az alábbi R-kóddal rendelkezik.
CustomAddRows <- function(dataset1, dataset2, swap=FALSE)
{
if (swap)
{
return (rbind(dataset2, dataset1));
}
else
{
return (rbind(dataset1, dataset2));
}
}
Az XML-definíciós fájl
Ha ezt CustomAddRows
a függvényt a Machine Learning Studio (klasszikus) moduljaként szeretné elérhetővé tenni, létre kell hoznia egy XML-definíciós fájlt, amely meghatározza az Egyéni sorok hozzáadása modul megjelenését és viselkedését.
<!-- Defined a module using an R Script -->
<Module name="Custom Add Rows">
<Owner>Microsoft Corporation</Owner>
<Description>Appends one dataset to another. Dataset 2 is concatenated to Dataset 1 when Swap is FALSE, and vice versa when Swap is TRUE.</Description>
<!-- Specify the base language, script file and R function to use for this module. -->
<Language name="R"
sourceFile="CustomAddRows.R"
entryPoint="CustomAddRows" />
<!-- Define module input and output ports -->
<!-- Note: The values of the id attributes in the Input and Arg elements must match the parameter names in the R Function CustomAddRows defined in CustomAddRows.R. -->
<Ports>
<Input id="dataset1" name="Dataset 1" type="DataTable">
<Description>First input dataset</Description>
</Input>
<Input id="dataset2" name="Dataset 2" type="DataTable">
<Description>Second input dataset</Description>
</Input>
<Output id="dataset" name="Dataset" type="DataTable">
<Description>The combined dataset</Description>
</Output>
</Ports>
<!-- Define module parameters -->
<Arguments>
<Arg id="swap" name="Swap" type="bool" >
<Description>Swap input datasets.</Description>
</Arg>
</Arguments>
</Module>
Fontos megjegyezni, hogy az XML-fájl input- és Arg-elemeinekazonosító attribútumainak értékének meg kell egyeznie a CustomAddRows.R fájl R-kódjának függvényparaméter-nevével, PONTOSAN: (dataset1, dataset2 és swap a példában). Hasonlóképpen, a Language elem entryPoint attribútumának meg kell egyeznie az R-szkriptBEN található függvény nevével, PONTOSAN: (a példában a CustomAddRows attribútummal).
Ezzel szemben a Kimeneti elem azonosító attribútuma nem felel meg az R-szkript egyik változójának sem. Ha egynél több kimenetre van szükség, egyszerűen adjon vissza egy listát az R függvényből, és az eredmények ugyanabban a sorrendben legyenek elhelyezve, mint a Kimenet elemek deklarálása az XML-fájlban.
A modul becsomagolása és regisztrálása
Mentse ezt a két fájlt CustomAddRows.R és CustomAddRows.xml néven, majd tömörítse a két fájlt egy CustomAddRows.zip fájlba.
Ha regisztrálni szeretné őket a Machine Learning-munkaterületen, nyissa meg a munkaterületet a Machine Learning Studióban (klasszikus), kattintson a lenti +ÚJ gombra, és válassza a MODUL –> ZIP-CSOMAGBÓL lehetőséget az új Egyéni sorok hozzáadása modul feltöltéséhez.
Az Egyéni sorok hozzáadása modul most már készen áll arra, hogy hozzáférjen a Machine Learning-kísérletekhez.
Az XML-definíciós fájl elemei
Modulelemek
A Modul elem egy egyéni modul definiálására szolgál az XML-fájlban. Több modul definiálható egy XML-fájlban több modulelem használatával. A munkaterület minden moduljához egyedi névvel kell rendelkeznie. Regisztráljon egy egyéni modult ugyanazzal a névvel, mint egy meglévő egyéni modul, és lecseréli a meglévő modult az újra. Az egyéni modulok azonban regisztrálhatók ugyanazzal a névvel, mint egy meglévő (klasszikus) Machine Learning Studio-modul. Ha igen, akkor a modulpaletta Egyéni kategóriájában jelennek meg.
<Module name="Custom Add Rows" isDeterministic="false">
<Owner>Microsoft Corporation</Owner>
<Description>Appends one dataset to another...</Description>/>
A Modul elemen belül két további választható elemet is megadhat:
- a modulba beágyazott Tulajdonos elem
- Egy leírási elem, amely a modul gyors súgójában megjelenő szöveget tartalmazza, és amikor a gépi tanulás felhasználói felületén rámutat a modulra.
A modulelemek karakterkorlátainak szabályai:
- A Modul elem névattribútumának értéke nem haladhatja meg a 64 karaktert.
- A Description elem tartalma nem lehet hosszabb 128 karakternél.
- A Tulajdonos elem tartalma nem lehet hosszabb 32 karakternél.
A modulok eredményei lehetnek determinisztikusak vagy nem determinisztikusak.** Alapértelmezés szerint minden modul determinisztikusnak minősül. Vagyis a bemeneti paraméterek és adatok változatlan készlete miatt a modulnak ugyanazokat az eredményeket kell visszaadnia, mint az eacRAND vagy a függvény futási ideje. Ennek a viselkedésnek a következtében a Machine Learning Studio (klasszikus) csak akkor futtatja újra a determinisztikusként megjelölt modulokat, ha egy paraméter vagy a bemeneti adatok megváltoztak. A gyorsítótárazott eredmények visszaadása a kísérletek sokkal gyorsabb végrehajtását is biztosítja.
Vannak olyan függvények, amelyek nem determinisztikusak, például a RAND vagy az aktuális dátumot vagy időt vissza adó függvény. Ha a modul nem determinisztikus függvényt használ, megadhatja, hogy a modul nem determinisztikus-e, ha a nem kötelező isDeterministic attribútumot FALSE értékre állítja. Ez biztosítja, hogy a modul a kísérlet futtatásakor újra fut, még akkor is, ha a modul bemenete és paraméterei nem változtak.
Nyelvdefiníció
Az XML-definíciós fájl Language eleme az egyéni modul nyelvének megadására szolgál. Jelenleg az R az egyetlen támogatott nyelv. A sourceFile attribútum értékének a modul futtatásakor meghívandó függvényt tartalmazó R-fájl nevének kell lennie. A fájlnak a zip-csomag részét kell képeznie. Az entryPoint attribútum értéke a meghívandó függvény neve, és meg kell egyeznie a forrásfájlban definiált érvényes függvénnyel.
<Language name="R" sourceFile="CustomAddRows.R" entryPoint="CustomAddRows" />
Portok
Az egyéni modul bemeneti és kimeneti portja az XML-definíciós fájl Portok szakaszának gyermekelemeiben van megadva. Ezeknek az elemeknek a sorrendje határozza meg a felhasználók által tapasztalt elrendezést (UX). Az XML-fájl Ports elemében felsorolt első gyermekbemenet vagy -kimenet lesz a Machine Learning felhasználói felületének bal szélső bemeneti portja. Minden bemeneti és kimeneti port rendelkezhet egy választható Description gyermekelemmel, amely megadja a szöveget, amikor az egérmutatót a Machine Learning felhasználói felületén a port fölé viszi.
Portszabályok:
- A bemeneti és kimeneti portok maximális száma egyenként 8.
Bemeneti elemek
A bemeneti portok lehetővé teszik az adatok továbbítását az R-függvénynek és -munkaterületnek. A bemeneti portok esetében támogatott adattípusok a következők:
Datatable: Ez a típus adatkeretként lesz átadva az R-függvénynek. A Machine Learning által támogatott és a DataTable-val kompatibilis típusokat (például CSV-fájlokat vagy ARFF-fájlokat) a rendszer automatikusan data.frame formátumba alakítja.
<Input id="dataset1" name="Input 1" type="DataTable" isOptional="false">
<Description>Input Dataset 1</Description>
</Input>
Az egyes DataTable bemeneti portokhoz társított id attribútumnak egyedi értékkel kell rendelkeznie, és ennek az értéknek meg kell egyeznie az R-függvény megfelelő elnevezett paraméterével. A kísérlet bemeneteként nem átadott opcionális DataTable-portokNULL értéket adnak át az R függvénynek, és a választható zip-portokat a rendszer figyelmen kívül hagyja, ha a bemenet nincs csatlakoztatva. Az isOptional attribútum a DataTable és a Zip típus esetén is választható, és alapértelmezés szerint hamis .
Zip: Az egyéni modulok bemenetként elfogadhatnak zip-fájlokat. Ez a bemenet ki van csomagolva a függvény R munkakönyvtárába
<Input id="zippedData" name="Zip Input" type="Zip" IsOptional="false">
<Description>Zip files to be extracted to the R working directory.</Description>
</Input>
Egyéni R-modulok esetén a Zip-port azonosítójának nem kell megegyeznie az R-függvény paramétereivel. Ennek az az oka, hogy a zip-fájl automatikusan ki lesz bontva az R munkakönyvtárba.
Bemeneti szabályok:
- A Bemeneti elem azonosító attribútumának értéke csak érvényes R változónév lehet.
- A Bemeneti elem azonosító attribútumának értéke nem lehet hosszabb 64 karakternél.
- A Bemeneti elem névattribútumának értéke nem lehet hosszabb 64 karakternél.
- A Leírás elem tartalma nem lehet hosszabb 128 karakternél
- A Bemeneti elem típusattribútumának értéke Zip vagy DataTable lehet.
- A bemeneti elem isOptional attribútumának értéke nem kötelező (és alapértelmezés szerint hamis, ha nincs megadva); de ha meg van adva, igaznak vagyhamisnak kell lennie.
Kimeneti elemek
Standard kimeneti portok: A kimeneti portok az R függvény visszatérési értékeire vannak leképezve, amelyeket a későbbi modulok használhatnak. Jelenleg a DataTable az egyetlen szabványos kimeneti porttípus, amely támogatott. (Hamarosan támogatást kapnak a tanulók és az átalakítások .) A DataTable kimenete a következő:
<Output id="dataset" name="Dataset" type="DataTable">
<Description>Combined dataset</Description>
</Output>
Az egyéni R-modulok kimenetei esetében az id attribútum értékének nem kell megegyeznie az R-szkriptben lévő semmivel, de egyedinek kell lennie. Egyetlen modul kimenete esetén az R függvény visszatérési értékének data.frame-nek kell lennie. Ahhoz, hogy egy támogatott adattípus több objektumát is ki lehessen adni, meg kell adni a megfelelő kimeneti portokat az XML-definíciós fájlban, és az objektumokat listaként kell visszaadni. A kimeneti objektumok balról jobbra vannak hozzárendelve a kimeneti portokhoz, tükrözve az objektumok visszaadott listában való elhelyezésének sorrendjét.
Ha például módosítani szeretné az Egyéni sorok hozzáadása modult úgy, hogy az eredeti két adathalmazt, az 1. és a 2. adatkészletet adja vissza az új csatlakoztatott adathalmaz, adatkészlet mellett (sorrendben, balról jobbra, például: adathalmaz, adathalmaz1, adatkészlet2), majd adja meg a kimeneti portokat a CustomAddRows.xml fájlban az alábbiak szerint:
<Ports>
<Output id="dataset" name="Dataset Out" type="DataTable">
<Description>New Dataset</Description>
</Output>
<Output id="dataset1_out" name="Dataset 1 Out" type="DataTable">
<Description>First Dataset</Description>
</Output>
<Output id="dataset2_out" name="Dataset 2 Out" type="DataTable">
<Description>Second Dataset</Description>
</Output>
<Input id="dataset1" name="Dataset 1" type="DataTable">
<Description>First Input Table</Description>
</Input>
<Input id="dataset2" name="Dataset 2" type="DataTable">
<Description>Second Input Table</Description>
</Input>
</Ports>
És adja vissza az objektumok listáját egy listában a megfelelő sorrendben a "CustomAddRows.R" fájlban:
CustomAddRows <- function(dataset1, dataset2, swap=FALSE) {
if (swap) { dataset <- rbind(dataset2, dataset1)) }
else { dataset <- rbind(dataset1, dataset2))
}
return (list(dataset, dataset1, dataset2))
}
Vizualizáció kimenete: Megadhat egy vizualizáció típusú kimeneti portot is, amely megjeleníti az R grafikus eszköz és a konzol kimenetét. Ez a port nem része az R-függvény kimenetének, és nem zavarja a többi kimeneti porttípus sorrendjét. Ha vizualizációs portot szeretne hozzáadni az egyéni modulokhoz, adjon hozzá egy Kimeneti elemet a típusattribútumhoz tartozó Vizualizáció értékkel:
<Output id="deviceOutput" name="View Port" type="Visualization">
<Description>View the R console graphics device output.</Description>
</Output>
Kimeneti szabályok:
- A Kimeneti elem azonosító attribútumának értékének érvényes R változónévnek kell lennie.
- A Kimeneti elem azonosító attribútumának értéke nem lehet hosszabb 32 karakternél.
- A Kimeneti elem névattribútumának értéke nem lehet hosszabb 64 karakternél.
- A Kimeneti elem típusattribútumának értékének vizualizációnak kell lennie.
Argumentumok
További adatok továbbíthatók az R függvénynek az Argumentumok elemben meghatározott modulparamétereken keresztül. Ezek a paraméterek a Modul kiválasztásakor a Machine Learning felhasználói felületének jobb szélső tulajdonságok paneljén jelennek meg. Az argumentumok a támogatott típusok bármelyike lehetnek, vagy szükség esetén egyéni számbavételt is létrehozhat. A Portok elemekhez hasonlóan az Argumentumok elemhez is tartozhat egy választható Description elem, amely meghatározza azt a szöveget, amely akkor jelenik meg, amikor az egérmutatót a paraméter nevére viszi. A modulok opcionális tulajdonságai, például a defaultValue, a minValue és a maxValue bármely argumentumhoz hozzáadhatók a Tulajdonságok elem attribútumaiként. A Tulajdonságok elem érvényes tulajdonságai az argumentum típusától függenek, és a következő szakaszban ismertetett támogatott argumentumtípusokkal vannak ismertetve. Az isOptional tulajdonság "true" (igaz) értékre állításával rendelkező argumentumok esetében a felhasználónak nem kell értéket megadnia. Ha nincs megadva érték az argumentumnak, akkor az argumentum nem lesz átadva a belépésipont-függvénynek. A nem kötelező belépésipont-függvény argumentumait a függvénynek explicit módon kell kezelnie, például a belépésipont-függvény definíciójában a NULL alapértelmezett értéket kell hozzárendelnie. A választható argumentumok csak akkor kényszerítik ki a többi argumentumkorlátozást, azaz minimális vagy maximum értéket, ha a felhasználó megad egy értéket. A bemenetekhez és kimenetekhez hasonlóan kritikus fontosságú, hogy mindegyik paraméter egyedi azonosítóértékekkel rendelkezzen. A rövid útmutató példájában a társított azonosító/paraméter felcserélve lett.
Arg elem
A modulparaméter az XML-definíciós fájl Argumentumok szakaszának Arg gyermekelemével van definiálva. A Portok szakasz gyermekelemeihez hasonlóan az Argumentumok szakaszban lévő paraméterek sorrendje határozza meg a felhasználói felületen észlelt elrendezést. A paraméterek felülről lefelé jelennek meg a felhasználói felületen, ugyanabban a sorrendben, amelyben az XML-fájlban vannak definiálva. A Machine Learning által a paraméterekhez támogatott típusok itt találhatók.
int – egész szám (32 bites) típusú paraméter.
<Arg id="intValue1" name="Int Param" type="int">
<Properties min="0" max="100" default="0" />
<Description>Integer Parameter</Description>
</Arg>
- Választható tulajdonságok: min, max, default és isOptional
double – kettős típusú paraméter.
<Arg id="doubleValue1" name="Double Param" type="double">
<Properties min="0.000" max="0.999" default="0.3" />
<Description>Double Parameter</Description>
</Arg>
- Választható tulajdonságok: min, max, default és isOptional
bool – logikai paraméter, amelyet a felhasználói felület jelölőnégyzete jelöl.
<Arg id="boolValue1" name="Boolean Param" type="bool">
<Properties default="true" />
<Description>Boolean Parameter</Description>
</Arg>
- Választható tulajdonságok: alapértelmezett – hamis, ha nincs beállítva
string: standard sztring
<Arg id="stringValue1" name="My string Param" type="string">
<Properties isOptional="true" />
<Description>String Parameter 1</Description>
</Arg>
- Választható tulajdonságok: alapértelmezett és isOptional
ColumnPicker: oszlopkijelölési paraméter. Ez a típus oszlopválasztóként jelenik meg a felhasználói felületen. A Tulajdonság elem itt annak a portnak az azonosítóját adja meg, amelyből oszlopok vannak kiválasztva, ahol a célporttípusnak DataTable-nak kell lennie. Az oszlopkijelölés eredményét a rendszer a kijelölt oszlopneveket tartalmazó sztringek listájaként továbbítja az R függvénynek.
<Arg id="colset" name="Column set" type="ColumnPicker">
<Properties portId="datasetIn1" allowedTypes="Numeric" default="NumericAll"/>
<Description>Column set</Description>
</Arg>
Kötelező tulajdonságok: portId – egy DataTable típusú bemeneti elem azonosítójával egyezik.
Nem kötelező tulajdonságok:
allowedTypes – Szűri azokat az oszloptípusokat, amelyek közül választhat. Az érvényes értékek a következők:
- Numerikus
- Logikai érték
- Kategorikus
- Sztring
- Címke
- Szolgáltatás
- Pontszám
- Mind
default – Az oszlopválasztó érvényes alapértelmezett kijelölései a következők:
- None
- NumericFeature
- NumericLabel
- NumericScore
- NumericAll
- Logikai érték
- Logikai címke
- Logikai érték
- BooleanAll
- Kategorikusfeature
- Kategorikus címke
- Kategorikus mag
- Kategorikus összes
- StringFeature
- StringLabel
- StringScore
- StringAll
- AllLabel
- AllFeature
- AllScore
- Mind
Legördülő lista: felhasználó által megadott enumerált (legördülő) lista. A legördülő elemek a Tulajdonságok elemen belül egy Elem elem használatával vannak megadva. Az egyes elemekazonosítójának egyedinek és érvényes R-változónak kell lennie. Az elemnevének értéke a megjelenő szövegként és az R függvénynek átadott értékként is szolgál.
<Arg id="color" name="Color" type="DropDown">
<Properties default="red">
<Item id="red" name="Red Value"/>
<Item id="green" name="Green Value"/>
<Item id="blue" name="Blue Value"/>
</Properties>
<Description>Select a color.</Description>
</Arg>
- Nem kötelező tulajdonságok:
- default – Az alapértelmezett tulajdonság értékének meg kell egyeznie az elemelemek egyikének azonosítóértékével.
Kiegészítő fájlok
Az egyéni modul ZIP-fájljában elhelyezett fájlok a végrehajtási idő alatt is felhasználhatók lesznek. A könyvtárstruktúrák megmaradnak. Ez azt jelenti, hogy a fájl forráskezelése helyileg és a Machine Learning Studio (klasszikus) végrehajtásában is ugyanúgy működik.
Megjegyzés
Figyelje meg, hogy az összes fájl ki lesz csomagolva az "src" könyvtárba, így minden elérési útnak "src/" előtaggal kell rendelkeznie.
Tegyük fel például, hogy el szeretné távolítani az NA-kkal rendelkező sorokat az adathalmazból, és el szeretné távolítani az ismétlődő sorokat, mielőtt a CustomAddRows-ba adná ki őket, és már írt egy R-függvényt, amely ezt végzi a RemoveDupNARows.R fájlban:
RemoveDupNARows <- function(dataFrame) {
#Remove Duplicate Rows:
dataFrame <- unique(dataFrame)
#Remove Rows with NAs:
finalDataFrame <- dataFrame[complete.cases(dataFrame),]
return(finalDataFrame)
}
A RemoveDupNARows.R segédfájlt a CustomAddRows függvényben forrásként használhatja:
CustomAddRows <- function(dataset1, dataset2, swap=FALSE) {
source("src/RemoveDupNARows.R")
if (swap) {
dataset <- rbind(dataset2, dataset1))
} else {
dataset <- rbind(dataset1, dataset2))
}
dataset <- removeDupNARows(dataset)
return (dataset)
}
Ezután töltsön fel egy zip-fájlt, amely a "CustomAddRows.R", a "CustomAddRows.xml" és a "RemoveDupNARows.R" fájlt tartalmazza egyéni R-modulként.
Végrehajtási környezet
Az R-szkript végrehajtási környezete ugyanazt az R-verziót használja, mint az R-szkript végrehajtása modul, és ugyanazokat az alapértelmezett csomagokat használhatja. Az egyéni modulhoz további R-csomagokat is hozzáadhat, ha felveszi őket az egyéni modul zip-csomagjához. Egyszerűen töltse be őket az R-szkriptbe, ahogyan a saját R-környezetében tenné.
A végrehajtási környezet korlátozásai a következők:
- Nem állandó fájlrendszer: Az egyéni modul futtatásakor írt fájlok nem maradnak meg ugyanazon modul több futtatása között.
- Nincs hálózati hozzáférés