다음을 통해 공유


Azure Machine Learning 스튜디오(클래식)에 사용할 사용자 지정 R 모듈 정의

적용 대상: 적용 대상Machine Learning Studio(클래식) 미적용 대상Azure Machine Learning

Important

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

이 항목에서는 사용자 지정 R Studio(클래식)를 작성하고 배포하는 방법을 설명합니다. 사용자 지정 R 모듈의 정의와 이를 정의하는 데 사용되는 파일에 대해 설명합니다. 모듈을 정의하는 파일을 생성하는 방법과 Machine Learning 작업 영역에서 배포를 위해 모듈을 등록하는 방법을 보여 줍니다. 그런 다음 사용자 지정 모듈의 정의에 사용되는 요소와 특성에 대해 자세히 설명합니다. 보조 기능 및 파일 및 여러 출력을 사용하는 방법도 설명합니다.

사용자 지정 모듈은 작업 영역에 업로드하고 Machine Learning Studio(클래식) 실험의 일부로 실행할 수 있는 사용자 정의 모듈입니다. 사용자 지정 R 모듈은 사용자 정의 R 함수를 실행하는 사용자 지정 모듈입니다. R 은 통계학자와 데이터 과학자가 알고리즘을 구현하는 데 널리 사용되는 통계 컴퓨팅 및 그래픽을 위한 프로그래밍 언어입니다. 현재, R은 사용자 지정 모듈에서 지원되는 유일한 언어이지만 향후 릴리스에서는 추가 언어에 대한 지원이 예정되어 있습니다.

사용자 지정 모듈은 다른 모듈과 마찬가지로 사용할 수 있다는 점에서 Machine Learning Studio(클래식)의 최상위 상태를습니다. 다른 모듈과 함께 실행하거나, 게시된 실험이나 시각화에 포함할 수 있습니다. 사용자는 모듈에 의해 구현되는 알고리즘, 사용할 입력 및 출력 포트, 모델링 매개 변수 및 기타 여러 런타임 동작을 제어할 수 있습니다. 사용자 지정 모듈을 포함하는 실험을 쉽게 공유할 수 있도록 Azure AI 갤러리에 게시할 수도 있습니다.

사용자 지정 R 모듈의 파일

사용자 지정 R 모듈은 최소한 다음 두 개의 파일을 포함하는 .zip 파일로 정의됩니다.

  • 모듈에서 노출하는 R 함수를 구현하는 소스 파일
  • 사용자 지정 모듈 인터페이스를 설명하는 XML 정의 파일

사용자 지정 모듈에서 액세스할 수 있는 기능을 제공하는 추가 보조 파일을 .zip 파일에 포함할 수도 있습니다. 이 옵션은 빠른 시작 예제 다음에 오는 XML 정의 파일의 참조 섹션 Elements의 인수 부분에서 설명합니다.

빠른 시작 예제: 사용자 지정 R 모듈 정의, 패키지 및 등록

이 예제에서는 사용자 지정 R 모듈에 필요한 파일을 생성하고 zip 파일로 패키지한 다음 Machine Learning 작업 영역에 모듈을 등록하는 방법을 보여 줍니다. 예제 zip 패키지 및 샘플 파일은 CustomAddRows.zip 파일 다운로드에서 다운로드할 수 있습니다.

원본 파일

두 데이터 세트(데이터 프레임)에서 (관찰)을 연결하기 위해 사용되는 행 추가 모듈의 표준 구현을 수정하는 사용자 지정 행 추가 모듈의 예를 생각해 보세요. 표준 추가 모듈은 알고리즘을 사용하여 rbind 두 번째 입력 데이터 세트의 행을 첫 번째 입력 데이터 세트의 끝에 추가합니다. 사용자 지정된 CustomAddRows 함수는 마찬가지로 두 개의 데이터 세트를 허용하지만 부울 스왑 매개 변수를 추가 입력으로 허용합니다. 스왑 매개 변수가 FALSE설정된 경우 표준 구현과 동일한 데이터 집합을 반환합니다. 그러나 스왑 매개 변수가 TRUE이면 함수는 첫 번째 입력 데이터 세트의 행을 대신 두 번째 데이터 세트의 끝에 추가합니다. 사용자 지정 행 추가 모듈에 의해 노출되는 R CustomAddRows 함수의 구현을 포함하는 CustomAddRows.R 파일은 다음 R 코드를 포함합니다.

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

XML 정의 파일

CustomAddRows 함수를 Machine Learning 스튜디오(클래식) 모듈로 노출하려면 XML 정의 파일을 만들어 사용자 지정 행 추가 모듈의 표시 및 동작 방식을 지정해야 합니다.

<!-- 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 파일에 있는 Input 및 Arg 요소의 ID 특성 값은 CustomAddRows.R 파일에 있는 R 코드의 함수 매개 변수 이름과 정확히 일치해야 합니다(예에서는 dataset1, dataset2swap). 마찬가지로, Language 요소의 entryPoint 특성 값은 R 스크립트의 함수 이름(이 예제의 경우 CustomAddRows)과 정확히 일치해야 합니다.

반면 Output 요소의 ID 특성은 R 스크립트의 변수에 해당하지 않습니다. 둘 이상의 출력이 필요한 경우 출력 요소가 XML 파일에 선언된 것과 동일한 순서 결과가 배치된 R 함수의 목록을 반환하기만 하면 됩니다.

모듈 패키지 및 등록

이 두 파일을 CustomAddRows.R로 저장하고 CustomAddRows.xml 두 파일을 함께 CustomAddRows.zip 파일로 압축합니다.

이 파일을 Machine Learning 작업 영역에 등록하려면 Machine Learning Studio(클래식)의 작업 영역으로 이동한 후, 아래쪽에서 +새로 만들기 단추를 클릭하고 모듈 ->Zip 패키지에서를 선택하여 새 사용자 지정 행 추가 모듈을 업로드합니다.

Zip 업로드

이제 Machine Learning 실험에서 사용자 지정 행 추가 모듈에 액세스할 준비가 되었습니다.

XML 정의 파일의 요소

모듈 요소

Module 요소는 XML 파일에서 사용자 지정 모듈을 정의하는 데 사용됩니다. 여러 모듈 요소를 사용하여 하나의 XML 파일에서 여러 모듈을 정의할 수 있습니다. 작업 영역의 각 모듈에는 고유한 이름이 있어야 합니다. 기존 사용자 지정 모듈과 동일한 이름으로 사용자 지정 모듈을 등록하면 기존 모듈이 새 모듈로 바뀝니다. 그러나 사용자 지정 모듈은 기존 Machine Learning Studio(클래식) 모듈과 동일한 이름으로 등록할 수 있습니다. 이 경우 모듈 팔레트의 사용자 지정 범주에 표시됩니다.

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

Module 요소 내에서 두 개의 추가 선택적 요소를 지정할 수 있습니다.

  • 모듈에 포함된 Owner 요소
  • 모듈에 대한 빠른 도움말 및 Machine Learning UI에서 모듈을 마우스로 가리킬 때 표시되는 텍스트가 포함된 Description 요소입니다.

모듈 요소의 문자 제한에 대한 규칙:

  • Module 요소의 이름 특성 값은 길이가 64자를 초과하면 안됩니다.
  • Description 요소의 콘텐츠는 길이가 128자를 초과하면 안됩니다.
  • Owner 요소의 콘텐츠는 길이가 32자를 초과하면 안됩니다.

모듈의 결과는 결정적이거나 비결정적일 수 있습니다.** 기본적으로 모든 모듈은 결정적인 것으로 간주됩니다. 즉, 변경되지 않는 입력 매개 변수 및 데이터 집합이 지정된 경우 모듈은 동일한 결과 eacRAND 또는 함수가 실행되는 시간을 반환해야 합니다. 이 동작을 제공하는 경우 Machine Learning 스튜디오(클래식)는 매개 변수 또는 입력 데이터가 변경된 경우 결정적인 것으로 표시된 모듈만 다시 작동시킵니다. 캐시된 결과를 반환하면 실험 실행 속도가 훨씬 빨라집니다.

RAND 또는 현재 날짜 또는 시간을 반환하는 함수와 같이 비결정적인 함수가 있습니다. 모듈이 비결정적 함수를 사용하는 경우 옵션 isDeterministic 특성을 FALSE로 설정하여 모듈을 비결정적으로 지정할 수 있습니다. 이렇게 하면 모듈 입력 및 매개 변수가 변경되지 않은 경우에도 실험이 실행될 때마다 모듈이 다시 실행됩니다.

언어 정의

XML 정의 파일의 Language 요소는 사용자 지정 모듈 언어를 지정하는 데 사용됩니다. 현재 R은 유일하게 지원되는 언어입니다. sourceFile 특성의 값은 모듈이 실행될 때 호출할 함수를 포함하는 R 파일의 이름이어야 합니다. 이 파일은 zip 패키지의 일부여야 합니다. entryPoint 특성의 값은 호출되는 함수의 이름이며 소스 파일에 정의된 유효한 함수와 일치해야 합니다.

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

Ports

사용자 지정 모듈의 입력 및 출력 포트는 XML 정의 파일의 Ports 섹션의 자식 요소에 지정됩니다. 이러한 요소의 순서는 사용자가 경험하는 레이아웃(UX)을 결정합니다. XML 파일의 포트 요소에 나열된 첫 번째 자식 입력 또는 출력은 Machine Learning UX에서 가장 왼쪽에 있는 입력 포트가 됩니다. 각 입력 및 출력 포트에는 사용자가 Machine Learning UI에서 포트 위에 마우스 커서를 놓으면 표시되는 텍스트를 지정하는 선택적 Description 자식 요소가 있을 수 있습니다.

포트 규칙:

  • 입력 및 출력 포트 의 최대 개수는 각각 8개입니다.

입력 요소

입력 포트를 사용하면 R 함수 및 작업 영역에 데이터를 전달할 수 있습니다. 입력 포트에 지원되는 데이터 형식 은 다음과 같습니다.

DataTable: 이 형식은 data.frame으로 R 함수에 전달됩니다. 실제로 Machine Learning에서 지원되고 DataTable과 호환되는 모든 형식(예: CSV 파일 또는 ARFF 파일)은 data.frame으로 자동으로 변환됩니다.

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

DataTable 입력 포트와 연결된 id 특성에는 고유 값이 있어야 하며, 이러한 값은 R 함수의 해당 명명된 매개 변수와 일치해야 합니다. 실험에서 입력으로 전달되지 않는 선택적 DataTable 포트에는 R 함수로 전달되는 NULL 값이 있으며, 선택적 zip 포트는 입력이 연결되지 않은 경우 무시됩니다. isOptional 특성은 DataTableZip 형식 모두에 대해 선택 사항이며 기본적으로 false입니다.

Zip: 사용자 지정 모듈은 zip 파일을 입력으로 수락할 수 있습니다. 이 입력은 함수의 R 작업 디렉터리로 압축 해제됩니다.

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

사용자 지정 R 모듈의 경우 Zip 포트의 ID가 R 함수의 매개 변수와 일치할 필요가 없습니다. zip 파일이 R 작업 디렉터리로 자동으로 추출되기 때문입니다.

입력 규칙:

  • Input 요소의 ID 특성 값은 유효한 R 변수 이름이어야 합니다.
  • Input 요소의 ID 특성 값은 64자 이상이어야 합니다.
  • Input 요소의 name 특성 값은 64자 이내여야 합니다.
  • Description 요소의 콘텐츠는 128자 이상이어야 합니다.
  • Input 요소의 형식 특성 값은 Zip 또는 DataTable이어야 합니다.
  • Input 요소의 isOptional 특성 값은 필수가 아니지만(지정하지 않을 경우 기본적으로 false) 지정한 경우 true 또는 false여야 합니다.

출력 요소

표준 출력 포트: 출력 포트는 R 함수의 반환 값에 매핑된 다음 후속 모듈에서 사용할 수 있습니다. DataTable 은 현재 지원되는 유일한 표준 출력 포트 형식입니다. (학습자변환에 대한 지원이 곧 제공될 예정입니다.) DataTable 출력은 다음과 같이 정의됩니다.

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

사용자 지정 R 모듈의 출력의 경우 ID 특성 값은 R 스크립트의 모든 항목과 일치할 필요는 없지만 고유해야 합니다. 단일 모듈 출력의 경우 R 함수의 반환 값은 data.frame이어야 합니다. 지원되는 데이터 형식의 개체를 둘 이상 출력하려면 XML 정의 파일에 적절한 출력 포트를 지정해야 하며 개체를 목록으로 반환해야 합니다. 출력 개체는 반환된 목록에 개체가 배치되는 순서를 반영하여 왼쪽에서 오른쪽으로 출력 포트에 할당됩니다.

예를 들어 사용자 지정 행 추가 모듈을 새로 조인된 dataset과 함께 원래 두 데이터 세트 dataset1dataset2를 출력(왼쪽부터 순서대로 dataset, dataset1, dataset2)하도록 수정하려면 CustomAddRows.xml 파일에서 다음과 같이 출력 포트를 정의합니다.

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

그리고 목록의 개체 목록을 'CustomAddRows.R'에서 올바른 순서로 반환합니다.

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

시각화 출력: R 그래픽 디바이스의 출력 및 콘솔 출력을 표시하는 Visualization형식의 출력 포트를 지정할 수도 있습니다. 이 포트는 R 함수 출력의 일부가 아니며 다른 출력 포트 형식의 순서를 방해하지 않습니다. 사용자 지정 모듈에 시각화 포트를 추가하려면 해당 형식 특성에 대한 시각화이 있는 Output 요소를 추가합니다.

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

출력 규칙:

  • Output 요소의 id 특성 값은 유효한 R 변수 이름이어야 합니다.
  • Output 요소의 ID 특성 값은 32자 이상이어야 합니다.
  • Output 요소의 이름 특성 값은 64자 이상이어야 합니다.
  • Output 요소의 형식 특성 값은 시각화여야 합니다.

인수

Arguments 요소에 정의된 모듈 매개 변수를 통해 R 함수에 추가 데이터를 전달할 수 있습니다. 이러한 매개 변수는 모듈을 선택할 때 Machine Learning UI의 맨 오른쪽 속성 창에 표시됩니다. 인수는 지원되는 형식 중 하나이거나, 필요한 경우 사용자 지정 열거형을 만들 수 있습니다. 포트 요소와 마찬가지로 인수 요소에는 매개 변수 이름 위에 마우스를 놓을 때 나타나는 텍스트를 지정하는 선택적 Description 요소가 있을 수 있습니다. defaultValue, minValue 및 maxValue와 같은 모듈의 선택적 속성을 속성 요소에 특성으로 모든 인수에 추가할 수 있습니다. Properties 요소의 유효한 속성은 인수 형식에 따라 달라지고 다음 섹션에서 지원되는 인수 형식으로 설명됩니다. isOptional 속성이 "true"로 설정된 인수는 사용자가 값을 입력할 필요가 없습니다. 인수에 값을 입력하지 않으면 진입점 함수에 전달되지 않습니다. 선택 사항인 진입점 함수의 인수는 함수에서 명시적으로 처리해야 합니다(예: 진입점 함수 정의에 NULL의 기본값이 할당됨). 선택적 인수는 사용자가 값을 제공하는 경우 다른 인수 제약 조건(예: min 또는 max)만 적용합니다. 입력 및 출력과 마찬가지로 각 매개 변수에 연결된 고유 ID 값이 있어야 합니다. 빠른 시작 예제에서 연결된 ID/매개 변수는 교환되었습니다.

Arg 요소

모듈 매개 변수는 XML 정의 파일의 인수 섹션에 있는 Arg 자식 요소를 사용하여 정의됩니다. 포트 섹션의 자식 요소와 마찬가지로 인수 섹션의 매개 변수 순서는 UX에서 발생하는 레이아웃을 정의합니다. 매개 변수는 XML 파일에 정의된 순서와 동일한 순서로 UI의 위에서 아래로 표시됩니다. 매개 변수에 대해 Machine Learning에서 지원하는 형식이 여기에 나열되어 있습니다.

int – 정수(32비트) 형식 매개 변수입니다.

<Arg id="intValue1" name="Int Param" type="int">
    <Properties min="0" max="100" default="0" />
    <Description>Integer Parameter</Description>
</Arg>
  • 선택적 속성: min, max, defaultisOptional

double – double 형식 매개 변수입니다.

<Arg id="doubleValue1" name="Double Param" type="double">
    <Properties min="0.000" max="0.999" default="0.3" />
    <Description>Double Parameter</Description>
</Arg>
  • 선택적 속성: min, max, defaultisOptional

bool – UX에서 확인란으로 표시되는 부울 매개 변수입니다.

<Arg id="boolValue1" name="Boolean Param" type="bool">
    <Properties default="true" />
    <Description>Boolean Parameter</Description>
</Arg>
  • 선택적 속성: 기본값 - 설정되지 않은 경우 false

string: 표준 문자열

<Arg id="stringValue1" name="My string Param" type="string">
    <Properties isOptional="true" />
    <Description>String Parameter 1</Description>
</Arg>    
  • 선택적 속성: defaultisOptional

ColumnPicker: 열 선택 매개 변수입니다. 이 형식은 UX에서 열 선택기로 렌더링됩니다. 여기서 Property 요소는 열이 선택된 포트의 ID를 지정하는 데 사용됩니다. 여기서 대상 포트 형식은 DataTable이어야 합니다. 열 선택 결과는 선택한 열 이름을 포함하는 문자열 목록으로 R 함수에 전달됩니다.

<Arg id="colset" name="Column set" type="ColumnPicker">      
    <Properties portId="datasetIn1" allowedTypes="Numeric" default="NumericAll"/>
    <Description>Column set</Description>
</Arg>
  • 필수 속성: portId - DataTable 형식 의 입력 요소 ID와 일치합니다.

  • 선택적 속성:

    • allowedTypes - 선택할 수 있는 열 형식을 필터링합니다. 유효한 값은 다음과 같습니다.

      • 숫자
      • Boolean
      • 범주
      • 문자열
      • Label
      • 기능
      • 점수
      • 모두
    • default - 열 선택기에서 유효한 기본 선택 항목은 다음과 같습니다.

      • None
      • NumericFeature
      • NumericLabel
      • NumericScore
      • NumericAll
      • BooleanFeature
      • BooleanLabel
      • BooleanScore
      • BooleanAll
      • CategoricalFeature
      • CategoricalLabel
      • CategoricalScore
      • CategoricalAll
      • StringFeature
      • StringLabel
      • StringScore
      • StringAll
      • AllLabel
      • AllFeature
      • AllScore
      • 모두

DropDown: 사용자가 지정한 열거형(드롭다운) 목록입니다. 드롭다운 항목은 Item 요소를 사용하여 Properties 요소 내에 지정됩니다. 각 Item에 대한 id는 고유하고 유효한 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>    
  • 선택적 속성:
    • 기본값 - 기본 속성 값은 Item 요소 중 하나의 ID 값에 해당해야 합니다.

보조 파일

사용자 지정 모듈 ZIP 파일에 배치된 모든 파일은 실행 시간 동안 사용할 수 있습니다. 존재하는 모든 디렉터리 구조는 유지됩니다. 즉, 파일 소싱은 로컬 및 Machine Learning Studio(클래식) 실행에서 동일하게 작동합니다.

참고 항목

모든 파일은 'src' 디렉터리로 추출되므로 모든 경로에 'src/' 접두사가 있어야 합니다.

예를 들어 데이터 세트를 CustomAddRows에 출력하기 전에 NA가 있는 모든 행과 모든 중복 행을 데이터 세트에서 제거하려는 경우, RemoveDupNARows.R 파일에서 이 작업을 수행하는 R 함수를 이미 작성했다고 가정해 봅니다.

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

CustomAddRows 함수에서 보조 파일 RemoveDupNARows.R을 소스로 만들 수 있습니다.

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

그런 다음 사용자 지정 R 모듈로 'CustomAddRows.R', 'CustomAddRows.xml' 및 'RemoveDupNARows.R'이 포함된 zip 파일을 업로드합니다.

실행 환경

R 스크립트의 실행 환경에서는 R 스크립트 실행 모듈과 동일한 버전의 R을 사용하며, 동일한 기본 패키지를 사용할 수 있습니다. 사용자 지정 모듈 zip 패키지에 포함하여 사용자 지정 모듈에 추가 R 패키지를 추가할 수 있습니다. 사용자 고유의 R 환경에서와 마찬가지로 R 스크립트에 로드하기만 하면 됩니다.

실행 환경 의 제한 사항은 다음과 같습니다.

  • 비영구 파일 시스템: 사용자 지정 모듈이 실행될 때 작성된 파일은 동일한 모듈의 여러 실행에서 유지되지 않습니다.
  • 네트워크 액세스 없음