Aracılığıyla paylaş


Machine Learning Studio için özel R modülleri tanımlama (klasik)

ŞUNLAR IÇIN GEÇERLIDIR: Şunun için geçerlidir. Machine Learning Studio (klasik) Için geçerli değildir.Azure Machine Learning

Önemli

Machine Learning Stüdyosu (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.

1 Aralık 2021'den başlayarak artık yeni Machine Learning Stüdyosu (klasik) kaynakları oluşturamayacaksınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Stüdyosu (klasik) kaynaklarını kullanmaya devam edebilirsiniz.

ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.

Bu konu başlığında özel R Studio (klasik) yazma ve dağıtma işlemleri açıklanmaktadır. Özel R modüllerinin ne olduğu ve bunları tanımlamak için hangi dosyaların kullanıldığı açıklanır. Bir modülü tanımlayan dosyaların nasıl oluşturılacağını ve modülün bir Machine Learning çalışma alanına dağıtım için nasıl kaydedildiğini gösterir. Özel modülün tanımında kullanılan öğeler ve öznitelikler daha ayrıntılı olarak açıklanır. Yardımcı işlevlerin ve dosyaların ve birden çok çıkışın nasıl kullanılacağı da ele alınmaktadır.

Özel modül, çalışma alanınıza yüklenebilecek ve Machine Learning Studio (klasik) denemesinin bir parçası olarak yürütülebilen kullanıcı tanımlı bir modüldür. Özel R modülü, kullanıcı tanımlı R işlevini yürüten özel bir modüldür. R , istatistikçiler ve veri bilimcileri tarafından algoritmaları uygulamak için yaygın olarak kullanılan istatistiksel bilgi işlem ve grafiklere yönelik bir programlama dilidir. Şu anda özel modüllerde desteklenen tek dil R'dir, ancak gelecek sürümler için ek dil desteği zamanlanmıştır.

Özel modüllerin Machine Learning Studio'da (klasik) birinci sınıf durumu vardır ve diğer modüllerde olduğu gibi kullanılabilirler. Yayımlanan denemelere veya görselleştirmelere dahil olan diğer modüllerle yürütülebilirler. Modül tarafından uygulanan algoritma, kullanılacak giriş ve çıkış bağlantı noktaları, modelleme parametreleri ve diğer çeşitli çalışma zamanı davranışları üzerinde denetiminiz vardır. Özel modüller içeren bir deneme, kolay paylaşım için Azure AI Galerisi'nde de yayımlanabilir.

Özel R modülündeki dosyalar

Özel R modülü, en az iki dosya içeren bir .zip dosyası tarafından tanımlanır:

  • Modül tarafından kullanıma sunulan R işlevini uygulayan bir kaynak dosya
  • Özel modül arabirimini açıklayan xml tanım dosyası

Özel modülden erişilebilen işlevler sağlayan .zip dosyasına ek yardımcı dosyalar da eklenebilir. Bu seçenek, hızlı başlangıç örneğinin ardından XML tanım dosyasındaki Başvuru bölümünün Bağımsız Değişkenler bölümünde açıklanmıştır.

Hızlı başlangıç örneği: özel R modülünü tanımlama, paketleme ve kaydetme

Bu örnekte, özel bir R modülü için gerekli olan dosyaların nasıl derlenip bir zip dosyasına nasıl paketlenip modülün Machine Learning çalışma alanınıza nasıl kaydedildiği gösterilmektedir. Örnek zip paketi ve örnek dosyalar İndirme CustomAddRows.zip dosyasından indirilebilir.

Kaynak dosya

İki veri kümesindeki (veri çerçeveleri) satırları (gözlemler) birleştirmek için kullanılan Satır Ekle modülünün standart uygulamasını değiştiren Özel Satır Ekleme modülü örneğini düşünün. Standart Satır Ekle modülü, algoritmayı kullanarak ikinci giriş veri kümesinin satırlarını ilk giriş veri kümesinin rbind sonuna ekler. Özelleştirilmiş CustomAddRows işlev benzer şekilde iki veri kümesini kabul eder, ancak ek giriş olarak boole takas parametresini de kabul eder. Swap parametresi YANLIŞ olarak ayarlanırsa, standart uygulamayla aynı veri kümesini döndürür. Ancak swap parametresi TRUE ise işlev, bunun yerine ikinci veri kümesinin sonuna ilk giriş veri kümesinin satırlarını ekler. Özel Satır Ekle modülü tarafından kullanıma sunulan R CustomAddRows işlevinin uygulamasını içeren CustomAddRows.R dosyasında aşağıdaki R kodu bulunur.

CustomAddRows <- function(dataset1, dataset2, swap=FALSE) 
{
    if (swap)
    {
        return (rbind(dataset2, dataset1));
    }
    else
    {
        return (rbind(dataset1, dataset2));
    } 
} 

XML tanım dosyası

Bu CustomAddRows işlevi Machine Learning Studio (klasik) modülü olarak kullanıma sunma amacıyla, Özel Satır Ekleme modülünün nasıl görüneceğini ve nasıl davranacağını belirtmek için bir XML tanım dosyası oluşturulmalıdır.

<!-- 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>

XML dosyasındaki Input ve Arg öğelerinin kimlik özniteliklerinin değerinin CUSTOMAddRows.R dosyasındaki R kodunun işlev parametre adlarıyla TAM OLARAK eşleşmesi gerektiğini unutmayın: (örnekte veri kümesi1, veri kümesi2 ve değiştirme). Benzer şekilde, Language öğesinin entryPoint özniteliğinin değeri, R betiğindeki işlevin tam adıyla eşleşmelidir: (Örnekte CustomAddRows).

Buna karşılık, Output öğesinin id özniteliği R betiğindeki hiçbir değişkene karşılık gelmez. Birden fazla çıkış gerektiğinde, R işlevinden çıkış öğelerinin XML dosyasında bildirildiği sırada sonuçların yer aldığı bir liste döndürmeniz yeterlidir.

Modülü paketleme ve kaydetme

Bu iki dosyayı CustomAddRows.R ve CustomAddRows.xml olarak kaydedin ve ardından iki dosyayı CustomAddRows.zip bir dosyaya sıkıştırın.

Bunları Machine Learning çalışma alanınıza kaydetmek için Machine Learning Studio'daki (klasik) çalışma alanınıza gidin, alttaki +YENİ düğmesine tıklayın ve modül -> ZIP PAKETİNDEN'i seçerek yeni Özel Satır Ekleme modülünü karşıya yükleyin.

Zip'i Karşıya Yükle

Özel Satır Ekleme modülüne artık Machine Learning denemeleriniz tarafından erişilmeye hazır.

XML tanım dosyasındaki öğeler

Modül öğeleri

Module öğesi XML dosyasında özel bir modül tanımlamak için kullanılır. Birden çok modül öğesi kullanılarak tek bir XML dosyasında birden çok modül tanımlanabilir. Çalışma alanınızdaki her modülün benzersiz bir adı olmalıdır. Mevcut bir özel modülle aynı ada sahip bir özel modülü kaydedin ve mevcut modülü yenisiyle değiştirir. Ancak özel modüller, mevcut bir Machine Learning Studio (klasik) modülüyle aynı adla kaydedilebilir. Bu durumda modül paletinin Özel kategorisinde görünürler.

<Module name="Custom Add Rows" isDeterministic="false"> 
    <Owner>Microsoft Corporation</Owner>
    <Description>Appends one dataset to another...</Description>/> 

Module öğesinde iki ek isteğe bağlı öğe belirtebilirsiniz:

  • modüle eklenmiş bir Owner öğesi
  • Modülün hızlı yardımında ve Machine Learning kullanıcı arabiriminde modülün üzerine geldiğinizde görüntülenen metin içeren bir Description öğesi.

Modül öğelerindeki karakter sınırları için kurallar:

  • Module öğesindeki name özniteliğinin değeri 64 karakteri aşmamalıdır.
  • Description öğesinin içeriği 128 karakteri aşmamalıdır.
  • Owner öğesinin içeriği 32 karakteri aşmamalıdır.

Bir modülün sonuçları belirlenebilir veya belirlenemez.** Varsayılan olarak, tüm modüllerin belirleyici olduğu kabul edilir. Diğer bir deyişle, değişmeyen bir giriş parametresi ve veri kümesi verildiğinde modül aynı sonuçları döndürmelidir eacRAND veya çalıştırıldığı işlev zamanı. Bu davranış göz önünde bulundurulduğunda Machine Learning Studio (klasik), yalnızca bir parametre veya giriş verileri değiştiğinde belirlenimci olarak işaretlenmiş modülleri yeniden çalıştırır. Önbelleğe alınan sonuçları döndürmek, denemelerin çok daha hızlı yürütülmesini de sağlar.

S_SAYI_ÜRET gibi belirsiz olmayan işlevler veya geçerli tarih veya saati döndüren bir işlev vardır. Modülünüz belirsiz bir işlev kullanıyorsa isteğe bağlı isDeterministic özniteliğini FALSE olarak ayarlayarak modülün belirlenemez olduğunu belirtebilirsiniz. Bu, modül girişi ve parametreleri değişmemiş olsa bile deneme her çalıştırıldığında modülün yeniden çalıştırılmasını sağlar.

Dil Tanımı

XML tanım dosyanızdaki Language öğesi, özel modül dilini belirtmek için kullanılır. Şu an için yalnızca R dili desteklenmektedir. sourceFile özniteliğinin değeri, modül çalıştırıldığında çağrılacak işlevi içeren R dosyasının adı olmalıdır. Bu dosya zip paketinin bir parçası olmalıdır. entryPoint özniteliğinin değeri çağrılan işlevin adıdır ve kaynak dosyada tanımlanan geçerli bir işlevle eşleşmelidir.

<Language name="R" sourceFile="CustomAddRows.R" entryPoint="CustomAddRows" />

Bağlantı Noktaları

Özel modül için giriş ve çıkış bağlantı noktaları, XML tanım dosyasının Bağlantı Noktaları bölümünün alt öğelerinde belirtilir. Bu öğelerin sırası, kullanıcılar tarafından karşılaşılan düzeni (UX) belirler. XML dosyasının Ports öğesinde listelenen ilk alt giriş veya çıkış, Machine Learning UX'te en soldaki giriş bağlantı noktası olur. Her giriş ve çıkış bağlantı noktasının, fare imlecini Machine Learning kullanıcı arabirimindeki bağlantı noktasının üzerine getirdiğinizde gösterilen metni belirten isteğe bağlı bir Description alt öğesi olabilir.

Bağlantı Noktası Kuralları:

  • Giriş ve çıkış bağlantı noktası sayısı üst sınırı her biri için 8'dir.

Giriş öğeleri

Giriş bağlantı noktaları R işlevinize ve çalışma alanınıza veri geçirmenizi sağlar. Giriş bağlantı noktaları için desteklenen veri türleri şunlardır:

DataTable: Bu tür, R işlevinize data.frame olarak geçirilir. Aslında, Machine Learning tarafından desteklenen ve DataTable ile uyumlu olan tüm türler (örneğin, CSV dosyaları veya ARFF dosyaları) otomatik olarak data.frame'e dönüştürülür.

<Input id="dataset1" name="Input 1" type="DataTable" isOptional="false">
    <Description>Input Dataset 1</Description>
</Input>

Her DataTable giriş bağlantı noktasıyla ilişkilendirilmiş id özniteliğinin benzersiz bir değeri olmalıdır ve bu değer R işlevinizdeki karşılık gelen adlandırılmış parametresiyle eşleşmelidir. Denemede giriş olarak geçirilmeyen isteğe bağlı DataTable bağlantı noktalarının R işlevine null değeri geçirilir ve giriş bağlı değilse isteğe bağlı zip bağlantı noktaları yoksayılır. isOptional özniteliği hem DataTable hem de Zip türleri için isteğe bağlıdır ve varsayılan olarak false'tur.

Zip: Özel modüller bir zip dosyasını giriş olarak kabul edebilir. Bu giriş işlevinizin R çalışma dizinine açılır

<Input id="zippedData" name="Zip Input" type="Zip" IsOptional="false">
    <Description>Zip files to be extracted to the R working directory.</Description>
</Input>

Özel R modülleri için Zip bağlantı noktasının kimliğinin R işlevinin herhangi bir parametresiyle eşleşmesi gerekmez. Bunun nedeni zip dosyasının R çalışma dizinine otomatik olarak ayıklanmasıdır.

Giriş Kuralları:

  • Input öğesinin id özniteliğinin değeri geçerli bir R değişken adı olmalıdır.
  • Input öğesinin id özniteliğinin değeri 64 karakterden uzun olmamalıdır.
  • Input öğesinin name özniteliğinin değeri 64 karakterden uzun olmamalıdır.
  • Description öğesinin içeriği 128 karakterden uzun olmamalıdır
  • Input öğesinin type özniteliğinin değeri Zip veya DataTable olmalıdır.
  • Input öğesinin isOptional özniteliğinin değeri gerekli değildir (ve belirtilmediğinde varsayılan olarak false değeridir); ancak belirtilirse true veya false olmalıdır.

Çıkış öğeleri

Standart çıkış bağlantı noktaları: Çıkış bağlantı noktaları R işlevinizden dönüş değerlerine eşlenir ve bu değerler sonraki modüller tarafından kullanılabilir. DataTable , şu anda desteklenen tek standart çıkış bağlantı noktası türüdür. (Destek için Öğrenciler ve Dönüşümler yakında sunulacaktır.) DataTable çıkışı şu şekilde tanımlanır:

<Output id="dataset" name="Dataset" type="DataTable">
    <Description>Combined dataset</Description>
</Output>

Özel R modüllerindeki çıkışlar için, id özniteliğinin değerinin R betiğindeki herhangi bir şeye karşılık gelen olması gerekmez, ancak benzersiz olması gerekir. Tek bir modül çıkışı için R işlevinden dönüş değeri data.frame olmalıdır. Desteklenen bir veri türünün birden fazla nesnesinin çıktısını almak için, XML tanım dosyasında uygun çıkış bağlantı noktalarının belirtilmesi ve nesnelerin liste olarak döndürülmesi gerekir. Çıkış nesneleri, nesnelerin döndürülen listeye yerleştiriliş sırasını yansıtan, soldan sağa çıkış bağlantı noktalarına atanır.

Örneğin, veri kümesi1 ve veri kümesi2 adlı özgün iki veri kümesinin çıktısını almak için Özel Satır Ekle modülünü değiştirmek istiyorsanız, yeni katılmış veri kümesine, veri kümesine (sırayla, soldan sağa, veri kümesi1, veri kümesi2 gibi) ve ardından CustomAddRows.xml dosyasındaki çıkış bağlantı noktalarını aşağıdaki gibi tanımlayın:

<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> 

Ve listedeki nesnelerin listesini 'CustomAddRows.R' içinde doğru sırada döndür:

CustomAddRows <- function(dataset1, dataset2, swap=FALSE) { 
    if (swap) { dataset <- rbind(dataset2, dataset1)) } 
    else { dataset <- rbind(dataset1, dataset2)) 
    } 
    return (list(dataset, dataset1, dataset2)) 
} 

Görselleştirme çıkışı: Ayrıca, R grafik cihazından ve konsol çıkışından gelen çıkışı görüntüleyen Görselleştirme türünde bir çıkış bağlantı noktası da belirtebilirsiniz. Bu bağlantı noktası R işlevi çıkışının bir parçası değildir ve diğer çıkış bağlantı noktası türlerinin sırasını engellemez. Özel modüllere görselleştirme bağlantı noktası eklemek için, tür özniteliği için Görselleştirme değerine sahip bir Output öğesi ekleyin:

<Output id="deviceOutput" name="View Port" type="Visualization">
    <Description>View the R console graphics device output.</Description>
</Output>

Çıkış Kuralları:

  • Output öğesinin id özniteliğinin değeri geçerli bir R değişken adı olmalıdır.
  • Output öğesinin id özniteliğinin değeri 32 karakterden uzun olmamalıdır.
  • Output öğesinin name özniteliğinin değeri 64 karakterden uzun olmamalıdır.
  • Output öğesinin type özniteliğinin değeri Görselleştirme olmalıdır.

Bağımsız değişkenler

Bağımsız Değişkenler öğesinde tanımlanan modül parametreleri aracılığıyla R işlevine ek veriler geçirilebilir. Bu parametreler, modül seçildiğinde Machine Learning kullanıcı arabiriminin en sağdaki özellikler bölmesinde görünür. Bağımsız değişkenler desteklenen türlerden herhangi biri olabilir veya gerektiğinde özel bir numaralandırma oluşturabilirsiniz. Bağlantı Noktaları öğelerine benzer şekilde, Bağımsız Değişkenler öğeleri, fareyi parametre adının üzerine getirdiğinizde görüntülenen metni belirten isteğe bağlı bir Description öğesine sahip olabilir. Bir modül için defaultValue, minValue ve maxValue gibi isteğe bağlı özellikler, bir Properties öğesinin öznitelikleri olarak herhangi bir bağımsız değişkene eklenebilir. Properties öğesinin geçerli özellikleri bağımsız değişken türüne bağlıdır ve sonraki bölümde desteklenen bağımsız değişken türleriyle açıklanmıştır. isOptional özelliğinin "true" olarak ayarlandığı bağımsız değişkenler, kullanıcının bir değer girmesini gerektirmez. Bağımsız değişkene bir değer sağlanmazsa, bağımsız değişken giriş noktası işlevine geçirilmez. İsteğe bağlı olan giriş noktası işlevinin bağımsız değişkenlerinin işlev tarafından açıkça işlenmesi gerekir; örneğin, giriş noktası işlev tanımında varsayılan NULL değeri atanmalıdır. İsteğe bağlı bağımsız değişken, yalnızca kullanıcı tarafından bir değer sağlanmışsa diğer bağımsız değişken kısıtlamalarını (min veya max gibi) zorlar. Giriş ve çıkışlarda olduğu gibi, parametrelerin her birinin kendileriyle ilişkilendirilmiş benzersiz kimlik değerleri olması kritik önem taşır. Hızlı başlangıç örneğimizde ilişkili kimlik/parametre değiştirildi.

Arg öğesi

Modül parametresi, XML tanım dosyasının Arguments bölümünün Arg alt öğesi kullanılarak tanımlanır. Bağlantı Noktaları bölümündeki alt öğelerde olduğu gibi, Bağımsız Değişkenler bölümündeki parametrelerin sıralanması, UX'te karşılaşılan düzeni tanımlar. Parametreler, XML dosyasında tanımlandığı sırada kullanıcı arabiriminde yukarıdan aşağıya doğru görüntülenir. Machine Learning tarafından parametreler için desteklenen türler burada listelenmiştir.

int – Tamsayı (32 bit) türü parametresi.

<Arg id="intValue1" name="Int Param" type="int">
    <Properties min="0" max="100" default="0" />
    <Description>Integer Parameter</Description>
</Arg>
  • İsteğe Bağlı Özellikler: min, max, default ve isOptional

double – çift tür parametresi.

<Arg id="doubleValue1" name="Double Param" type="double">
    <Properties min="0.000" max="0.999" default="0.3" />
    <Description>Double Parameter</Description>
</Arg>
  • İsteğe Bağlı Özellikler: min, max, default ve isOptional

bool : UX'te bir onay kutusuyla temsil edilen boole parametresi.

<Arg id="boolValue1" name="Boolean Param" type="bool">
    <Properties default="true" />
    <Description>Boolean Parameter</Description>
</Arg>
  • İsteğe Bağlı Özellikler: varsayılan - ayarlanmadıysa false

string: standart dize

<Arg id="stringValue1" name="My string Param" type="string">
    <Properties isOptional="true" />
    <Description>String Parameter 1</Description>
</Arg>    
  • İsteğe Bağlı Özellikler: varsayılan ve isOptional

ColumnPicker: sütun seçimi parametresi. Bu tür, UX'te sütun seçici olarak işlenir. Property öğesi burada sütunların seçildiği bağlantı noktasının kimliğini belirtmek için kullanılır ve burada hedef bağlantı noktası türünün DataTable olması gerekir. Sütun seçiminin sonucu, seçilen sütun adlarını içeren dizelerin listesi olarak R işlevine geçirilir.

<Arg id="colset" name="Column set" type="ColumnPicker">      
    <Properties portId="datasetIn1" allowedTypes="Numeric" default="NumericAll"/>
    <Description>Column set</Description>
</Arg>
  • Gerekli Özellikler: portId - DataTable türüne sahip bir Input öğesinin kimliğiyle eşleşir.

  • İsteğe Bağlı Özellikler:

    • allowedTypes - Seçebileceğiniz sütun türlerini filtreler. Geçerli değerler şunlardır:

      • Sayısal
      • Boolean
      • Kategorik
      • String
      • Etiket
      • Özellik
      • Puan
      • Tümünü
    • default - Sütun seçici için geçerli varsayılan seçimler şunlardır:

      • Hiçbiri
      • NumericFeature
      • NumericLabel
      • Sayısal Çizgi
      • SayısalTüm
      • BooleAnFeature
      • BooleAnLabel
      • BooleanScore
      • Boole Tüm
      • Kategorik Özellik
      • CategoricalLabel
      • Kategorik Çekirdek
      • KategorikTüm
      • StringFeature
      • StringLabel
      • StringScore
      • DizeTüm
      • AllLabel
      • AllFeature
      • AllScore
      • Tümünü

DropDown: Kullanıcı tarafından belirtilen numaralandırılmış (açılan) liste. Açılan öğeler, Bir Öğe öğesi kullanılarak Özellikler öğesi içinde belirtilir. Her Öğenin kimliği benzersiz ve geçerli bir R değişkeni olmalıdır. Öğenin adının değeri, hem gördüğünüz metin hem de R işlevine geçirilen değer olarak işlev görür.

<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>    
  • İsteğe Bağlı Özellikler:
    • default - Varsayılan özelliğin değeri, Öğe öğelerinden birinin kimlik değeriyle karşılık gelir.

Yardımcı Dosyalar

Özel modül ZIP dosyanıza yerleştirilen tüm dosyalar yürütme sırasında kullanılabilir olacaktır. Mevcut tüm dizin yapıları korunur. Bu, dosya kaynağını belirlemenin yerel olarak ve Machine Learning Studio (klasik) yürütmesinde aynı şekilde çalıştığı anlamına gelir.

Not

Tüm dosyaların 'src' dizinine ayıklandığına dikkat edin, bu nedenle tüm yollar 'src/' ön ekine sahip olmalıdır.

Örneğin, NA'ları içeren tüm satırları veri kümesinden kaldırmak ve yinelenen satırları kaldırmak istediğinizi varsayalım. CustomAddRows'ta çıktısını almadan önce ve removeDupNARows.R dosyasında bunu yapmak için zaten bir R işlevi yazdınız:

RemoveDupNARows <- function(dataFrame) {
    #Remove Duplicate Rows:
    dataFrame <- unique(dataFrame)
    #Remove Rows with NAs:
    finalDataFrame <- dataFrame[complete.cases(dataFrame),]
    return(finalDataFrame)
}

CustomAddRows işlevinde RemoveDupNARows.R yardımcı dosyasının kaynağını oluşturabilirsiniz:

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)
}

Ardından özel R modülü olarak 'CustomAddRows.R', 'CustomAddRows.xml' ve 'RemoveDupNARows.R' içeren bir zip dosyasını karşıya yükleyin.

Yürütme Ortamı

R betiğinin yürütme ortamı, R Betiğini Yürütme modülüyle aynı R sürümünü kullanır ve aynı varsayılan paketleri kullanabilir. Özel modül zip paketine ekleyerek özel modülünüze ek R paketleri de ekleyebilirsiniz. Kendi R ortamınızda yaptığınız gibi R betiğinize yüklemeniz yeter.

Yürütme ortamının sınırlamaları şunlardır:

  • Kalıcı olmayan dosya sistemi: Özel modül çalıştırıldığında yazılan dosyalar aynı modülün birden çok çalıştırması arasında kalıcı olmaz.
  • Ağ erişimi yok