createVariants

Создайте различные объекты из объекта groupedData

Описание

пример

variants = createVariants(grpData,variableNames) создает вектор-столбец различных объектов для каждой группы в grpData использование переменных данных variableNames.

variants = createVariants(grpData,variableNames,groups) создает вектор из различных объектов для заданного groups.

пример

variants = createVariants(___,Name=Value) дополнительные опции использования заданы одними или несколькими аргументами name-value.

Примеры

свернуть все

Импортируйте выборочные данные. Данные содержат три группы (индивидуумы) с данными об измерении курса некоторого времени. Cl_Central и Central столбцы представляют специфичные для группы различные значения.

tbl = readtable('sample_data_variants_simbiology.xlsx')
tbl=16×6 table
    Group    Time    CentralConc    Dose1    Cl_Central    Central
    _____    ____    ___________    _____    __________    _______

      1        0        83.378       100        0.65        0.96  
      1        0            85       NaN         NaN         NaN  
      1        1        31.019       NaN         NaN         NaN  
      1        4        6.4875       NaN         NaN         NaN  
      1        8        1.1631       NaN         NaN         NaN  
      1       36             0       NaN         NaN         NaN  
      2        0        49.992       100        0.55        0.67  
      2        1        25.276       NaN        0.55        0.67  
      2        4        7.1079       NaN        0.55        0.67  
      2        8        2.7109       NaN        0.55        0.67  
      2       36             0       NaN        0.55        0.67  
      3        0           NaN       100        0.78         NaN  
      3        1        26.269       NaN         NaN         NaN  
      3        4        14.365       NaN         NaN         NaN  
      3        8        7.3422       NaN         NaN         NaN  
      3       36       0.18685       NaN         NaN         NaN  

Преобразуйте в groupedData объект.

gdata = groupedData(tbl);

По умолчанию функция использует столбец "Группы" в качестве переменной группы.

gdata.Properties.GroupVariableName
ans = 
'Group'

Создайте вариант для каждой группы для использования Cl_Central и Central переменные из данных.

variants = createVariants(gdata,["Cl_Central","Central"])
variants = 
   SimBiology Variant Array

   Index:  Name:             Active:
   1       1                 false
   2       2                 false
   3       3                 false

variants(1)
ans = 
   SimBiology Variant - 1 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.65
   2                 parameter    Central           Value               0.96

variants(2)
ans = 
   SimBiology Variant - 2 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.55
   2                 parameter    Central           Value               0.67

variants(3)
ans = 
   SimBiology Variant - 3 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.78

Обратите внимание на то, что у индивидуума 3 есть различное значение для Cl_Central но не Central. Следовательно функция создала только одно различное содержимое для Cl_Central.

Можно также задать который группа создать варианты для. Например, создайте варианты для индивидуумов 1 и 2 только.

variants = createVariants(gdata,["Cl_Central","Central"],["1","2"])
variants = 
   SimBiology Variant Array

   Index:  Name:             Active:
   1       1                 false
   2       2                 false

variants(1)
ans = 
   SimBiology Variant - 1 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.65
   2                 parameter    Central           Value               0.96

variants(2)
ans = 
   SimBiology Variant - 2 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.55
   2                 parameter    Central           Value               0.67

По умолчанию функция присваивает тип как параметр для каждой переменной. Можно задать который тип (разновидности, параметр или отсек) при помощи Types аргумент значения имени. Задайте Cl_Central в качестве параметра и Central как отсек.

variants = createVariants(gdata,["Cl_Central","Central"],Types=["parameter","compartment"]);
variants(1)
ans = 
   SimBiology Variant - 1 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.65
   2                 compartment  Central           Value               0.96

variants(2)
ans = 
   SimBiology Variant - 2 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.55
   2                 compartment  Central           Value               0.67

variants(3)
ans = 
   SimBiology Variant - 3 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.78

Если вы знаете имя компонента модели, который сопоставляет с каждой переменной, можно использовать имя компонента, чтобы задать Имя каждого различного содержимого. Например, сопоставьте переменные данных с компонентами модели под названием "Разрешение" и "Центральный".

variants = createVariants(gdata,["Cl_Central","Central"],Types=["parameter","compartment"],Names=["Clearance","Central"]);
variants(1)
ans = 
   SimBiology Variant - 1 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Clearance         Value               0.65
   2                 compartment  Central           Value               0.96

variants(2)
ans = 
   SimBiology Variant - 2 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Clearance         Value               0.55
   2                 compartment  Central           Value               0.67

variants(3)
ans = 
   SimBiology Variant - 3 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Clearance         Value               0.78

Если ваши переменные данных имеют те же имена как соответствующие компоненты модели, можно использовать модель в качестве источника, и функция автоматически делает отображение.

% Create a two-compartment model.
pkmd                                    = PKModelDesign;
pkc1                                    = addCompartment(pkmd,'Central');
pkc1.DosingType                         = 'Bolus';
pkc1.EliminationType                    = 'linear-clearance';
pkc1.HasResponseVariable                = true;
pkc2                                    = addCompartment(pkmd,'Peripheral');
model                                   = construct(pkmd);
variants = createVariants(gdata,["Cl_Central","Central"],Model=model);
variants(1)
ans = 
   SimBiology Variant - 1 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.65
   2                 compartment  Central           Value               0.96

В качестве альтернативы, если у вас есть соответствующие объекты компонента модели, можно использовать их также, чтобы сопоставить с переменными данных.

% Extract the parameter and compartment object.
clearance = sbioselect(model,Name="Cl_Central");
centralVol = sbioselect(model,Name="Central");
% Map the data variables to these objects.
variants = createVariants(gdata,["Cl_Central","Central"],Components=[clearance,centralVol])
variants = 
   SimBiology Variant Array

   Index:  Name:             Active:
   1       1                 false
   2       2                 false
   3       3                 false

variants(1)
ans = 
   SimBiology Variant - 1 (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 parameter    Cl_Central        Value               0.65
   2                 compartment  Central           Value               0.96

Входные параметры

свернуть все

Сгруппированные данные в виде a groupedData объект.

grpData.Properties.GroupVariableName опционально идентифицирует сгруппированную переменную.

Имена переменных данных раньше генерировали варианты в виде вектора символов, строки, вектора строки или массива ячеек из символьных векторов.

Каждая переменная в variableNames должен быть числовой вектор-столбец без Inf значения.

Для каждой переменной могут быть повторены незначения NaN в группе, но они должны быть идентичными. Можно использовать NaN не указать ни на какое значение для конкретной строки. Если всеми значениями переменной в группе является NaN, та переменная не включена в вариант группы.

Названия группы в виде пустого вектора [], вектор символов, строковый скаляр, представляет в виде строки вектор, массив ячеек из символьных векторов или вектор из типов данных, которые могут быть преобразованы в категориальный вектор. Для списка поддерживаемых типов данных смотрите categorical.

Использование указать на поведение по умолчанию включения вариантов для каждой группы.

Аргументы name-value

Задайте дополнительные пары аргументов как Name1=Value1,...,NameN=ValueN, где Name имя аргумента и Value соответствующее значение. Аргументы name-value должны появиться после других аргументов, но порядок пар не имеет значения.

Пример: Types="compartment",Names="Central" задает тип компонента модели как отсек и его имя как Central.

Типы компонента модели используются в вариантах в виде "parameter", "species", "compartment", представьте в виде строки вектор или массив ячеек из символьных векторов, где каждым элементом должна быть одна из этих строк или векторов символов.

Если вы задаете только один тип компонента, функция применяет его ко всему различному содержимому. Если вы задаете больше чем один тип, количество типов должно совпадать с количеством имен в variableNames.

Вы не можете задать этот аргумент вместе с 'Components' или 'Model'.

Типы данных: char | string | cell

Имена компонента модели, используемые в вариантах в виде вектора символов, строкового скаляра, представляют в виде строки вектор или массив ячеек из символьных векторов. Если вы не задаете этот аргумент или 'Components', по умолчанию функция использует имена от variableName входной параметр как имена компонентов.

Вы не можете задать этот аргумент вместе с 'Components'.

Типы данных: char | string | cell

Компоненты модели, используемые в вариантах в виде вектора из параметра, разновидностей или объектов отсека. Количество компонентов должно совпадать с количеством имен в variableNames. Типы и имена, используемые в различном содержимом, являются типами и полностью определенными именами заданных компонентов.

Вы не можете задать этот аргумент вместе с 'Types', 'Names', или 'Model'.

Модель SimBiology раньше идентифицировала компоненты модели в вариантах в виде объекта модели.

Когда у вас есть имя, которое совпадает с различными количествами, программное обеспечение использует следующее правило приоритета, чтобы решить: разновидности> отсек> параметр. Для получения дополнительной информации см. Правила Приоритета для Оценки Имен Количества.

Вы не можете задать этот аргумент вместе с 'Types' или 'Components'.

Отметьте, чтобы преобразовать единицы переменной данных к модулям, заданным для каждого компонента модели в виде "auto"TRUE, или false. Переменные модули заданы в grpData.Properties.VariableUnits.

Когда значением является "auto", функция преобразовывает единицы для любой пары переменной и компонента, что оба задают непустые модули, которые сопоставимы друг с другом. В противном случае значения в переменных данных используются без модульного преобразования.

Когда значением является true, функция преобразует все значения в переменных данных к модулям каждого компонента.

Когда значением является false, функция использует значения в переменных данных без модульного преобразования.

Выходные аргументы

свернуть все

Объекты варианта SimBiology, возвращенные как вектор-столбец различных объектов, с одним вариантом для каждой группы в grpData. Если вы не задаете groups введите, порядок возвращенных вариантов выполняет приказ групп во входных данных. Если вы задаете groups, порядок вариантов выполняет приказ заданных групп.

Введенный в R2021b