groupcounts

Количество элементов группы

Описание

пример

G = groupcounts(T,groupvars) вычисляет число элементов в каждой группе данных в таблице или расписании, и возвращает таблицу, содержащую группы, их количества и процент (от 0 до 100), каждое количество представляет. Каждая группа задана уникальной комбинацией сгруппированных переменных в groupvars. Например, G = groupcounts(T,'Gender') возвращает таблицу, показывающую количество Male элементы, количество Female элементы, и так далее для любых других категорий в переменной Gender.

пример

G = groupcounts(T,groupvars,groupbins) задает как к интервалу данные в groupvars. Например, G = groupcounts(T,'SaleDate','year') дает ежегодные количества продаж и проценты согласно SaleDate.

пример

G = groupcounts(___,Name,Value) задает дополнительные свойства группировки с помощью одной или нескольких пар "имя-значение" для любого из предыдущих синтаксисов. Например, G = groupcounts(T,'Category1','IncludeMissingGroups',false) исключает группу, сделанную из пропавших без вести categorical данные обозначаются <undefined>.

B = groupcounts(A) возвращает вектор, содержащий счета группы для каждой уникальной комбинации группирующихся векторов, представленных в вектор-столбце, матрице или массиве ячеек вектор-столбцов A.

B = groupcounts(A,groupbins) интервалы данные согласно groupbins.

B = groupcounts(___,Name,Value) задает дополнительные свойства группировки с помощью одной или нескольких пар "имя-значение".

пример

[B,BG,BP] = groupcounts(A,___) также возвращает группы BG и проценты BP соответствие количествам в B.

Примеры

свернуть все

Вычислите количество элементов группы из табличных данных.

Составьте таблицу, содержащую информацию приблизительно пять индивидуумов.

Gender = ["male";"female";"male";"female";"male"];
Smoker = logical([1;0;1;0;1]);
Weight = [176;163;131;133;119];
T = table(Gender,Smoker,Weight)
T=5×3 table
     Gender     Smoker    Weight
    ________    ______    ______

    "male"      true       176  
    "female"    false      163  
    "male"      true       131  
    "female"    false      133  
    "male"      true       119  

Считайте число элементов в каждой группе полом.

G1 = groupcounts(T,'Gender')
G1=2×3 table
     Gender     GroupCount    Percent
    ________    __________    _______

    "female"        2           40   
    "male"          3           60   

Считайте число элементов в каждой группе состоянием курильщика и полом. По умолчанию, groupcounts подавляет группы с нулевыми элементами, таким образом, никакие группы не возвращены для курильщиц или штекерных некурящих.

G2 = groupcounts(T,{'Gender','Smoker'})
G2=2×4 table
     Gender     Smoker    GroupCount    Percent
    ________    ______    __________    _______

    "female"    false         2           40   
    "male"      true          3           60   

Чтобы считать все группы, включая тех с нулевыми элементами, задают 'IncludeEmptyGroups' параметр со значением true.

G3 = groupcounts(T,{'Gender','Smoker'},'IncludeEmptyGroups',true)
G3=4×4 table
     Gender     Smoker    GroupCount    Percent
    ________    ______    __________    _______

    "female"    false         2           40   
    "female"    true          0            0   
    "male"      false         0            0   
    "male"      true          3           60   

Данные группы согласно заданным интервалам.

Создайте расписание, содержащее данные по продажам в течение многих дней в течение одного месяца.

TimeStamps = datetime([2017 3 4; 2017 3 2; 2017 3 15; 2017 3 10;...
                       2017 3 14; 2017 3 31; 2017 3 25;...
                       2017 3 29; 2017 3 21; 2017 3 18]);
Profit = [2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';
TotalItemsSold = [14 13 8 5 10 16 8 6 7 11]';
TT = timetable(TimeStamps,Profit,TotalItemsSold)
TT=10×2 timetable
    TimeStamps     Profit    TotalItemsSold
    ___________    ______    ______________

    04-Mar-2017     2032           14      
    02-Mar-2017     3071           13      
    15-Mar-2017     1185            8      
    10-Mar-2017     2587            5      
    14-Mar-2017     1998           10      
    31-Mar-2017     2899           16      
    25-Mar-2017     3112            8      
    29-Mar-2017      909            6      
    21-Mar-2017     2619            7      
    18-Mar-2017     3085           11      

Вычислите количества группы общими проданными товарами, раскладывание группы на интервалы номеров изделия.

G = groupcounts(TT,'TotalItemsSold',[0 4 8 12 16])
G=3×3 table
    disc_TotalItemsSold    GroupCount    Percent
    ___________________    __________    _______

         [4, 8)                3           30   
         [8, 12)               4           40   
         [12, 16]              3           30   

Вычислите количества группы, сгруппированные за день недели.

G = groupcounts(TT,'TimeStamps','dayname')
G=5×3 table
    dayname_TimeStamps    GroupCount    Percent
    __________________    __________    _______

        Tuesday               2           20   
        Wednesday             2           20   
        Thursday              1           10   
        Friday                2           20   
        Saturday              3           30   

Определите, какие элементы в векторе появляются несколько раз.

Создайте вектор-столбец со значениями между 1 и 5.

v = [1 1 2 2 3 5 3 3 1 4]';

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

[gc,grps] = groupcounts(v)
gc = 5×1

     3
     2
     3
     1
     1

grps = 5×1

     1
     2
     3
     4
     5

Определите, какие элементы в векторе появляются несколько раз путем создания логического индекса для групп с количеством, больше, чем 1. Индексируйте в группы, чтобы возвратить векторные элементы, которые дублированы.

duplicates = grps(gc > 1)
duplicates = 3×1

     1
     2
     3

Вычислите группу, значит четыре группы на основе их пола и состояния курильщика.

Храните терпеливую информацию как три вектора из различных типов.

Gender = ["male";"female";"male";"female";"male"];
Smoker = logical([1;0;1;0;1]);
Weight = [176;163;131;133;119];

При группировке полом и состоянием курильщика, вычислите количества группы. Задайте три выходных параметров, чтобы также возвратить группы BG и проценты BP. B выведите содержит счета для каждой группы и BP содержит проценты, представленные теми количествами.

[B,BG,BP] = groupcounts({Gender,Smoker},'IncludeEmptyGroups',true)
B = 4×1

     2
     0
     0
     3

BG=1×2 cell array
    {4x1 string}    {4x1 logical}

BP = 4×1

    40
     0
     0
    60

BG массив ячеек, содержащий два вектора, которые описывают группы, когда вы смотрите на их построчные элементы. Например, первая строка BG{1} говорит, что пациенты в первой группе являются розеткой и первой строкой BG{2} говорит, что они - некурящие. Счет для той группы равняется 2, найденному в соответствующей строке B.

BG{1}
ans = 4x1 string
    "female"
    "female"
    "male"
    "male"

BG{2}
ans = 4x1 logical array

   0
   1
   0
   1

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

свернуть все

Входные данные в виде таблицы или расписания.

Входные векторы в виде вектор-столбца, матрицы или массива ячеек векторов группировки представления вектор-столбцов. Когда A матрица, группирующиеся векторы являются постолбцовыми.

Сгруппированные переменные или векторы в виде одной из опций в этой таблице. Для входных данных таблицы или расписания, groupvars указывает который переменные использоваться для расчета групп в данных. Другие переменные, не заданные groupvars на не управляют и не передают до выхода.

ОпцияОписаниеПримеры
Имя переменной

Вектор символов или скалярная строка, задающая одно имя табличной переменной

'Var1'

"Var1"

Вектор из имен переменных

Массив ячеек из символьных векторов или массив строк, где каждым элементом является имя табличной переменной

{'Var1' 'Var2'}

["Var1" "Var2"]

Скаляр или вектор из переменных индексов

Скаляр или вектор из индексов табличной переменной

1

[1 3 5]

Логический вектор

Логический вектор, элементы которого каждый соответствует табличной переменной, где true включает соответствующую переменную и false исключает его

[true false true]

Указатель на функцию

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

@isnumeric

vartype индекс

Табличный индекс, сгенерированный vartype функция

vartype('numeric')

Пример: groupcounts(T,"Var3")

Схема Binning в виде одной из следующих опций:

  • 'none', указание на группы возвращено согласно заданным сгруппированным переменным только

  • Список границ интервала в виде числового вектора для числовых сгруппированных переменных, или как datetime вектор для datetime группировка переменных

  • Много интервалов в виде целочисленного скаляра

  • Длительность времени в виде скаляра типа duration или calendarDuration, указание на ширины интервала (для datetime или duration только сгруппированные переменные или векторы)

  • Массив ячеек, перечисляющий раскладывание, управляет для каждой сгруппированной переменной или вектора

  • Временной интервал для datetime и duration сгруппированные переменные или векторы только в виде одного из следующих векторов символов:

    ЗначениеОписаниеТип данных
    'second'

    Каждый интервал составляет 1 секунду.

    datetime и duration
    'minute'

    Каждый интервал составляет 1 минуту.

    datetime и duration
    'hour'

    Каждый интервал составляет 1 час.

    datetime и duration
    'day'

    Каждый интервал составляет 1 календарный день. Это значение учеты летнего времени, Сохраняющие Временные сдвиги.

    datetime и duration
    'week'Каждый интервал составляет 1 календарную неделю.datetime только
    'month'Каждый интервал составляет 1 календарный месяц.datetime только
    'quarter'Каждый интервал составляет 1 календарный квартал.datetime только
    'year'

    Каждый интервал составляет 1 календарный год. Это значение считает в течение дней прыжка.

    datetime и duration
    'decade'Каждый интервал составляет 1 десятилетие (10 календарных лет).datetime только
    'century'Каждый интервал является 1-м веком (100 календарных лет).datetime только
    'secondofminute'

    Интервалы являются секундами от 0 до 59.

    datetime только
    'minuteofhour'

    Интервалы являются минутами от 0 до 59.

    datetime только
    'hourofday'

    Интервалы являются часами от 0 до 23.

    datetime только
    'dayofweek'

    Интервалы являются днями от 1 до 7. Первый день недели является воскресеньем.

    datetime только
    'dayname'Интервалы являются полными дневными именами, такими как 'Sunday'.datetime только
    'dayofmonth'Интервалы являются днями от 1 до 31.datetime только
    'dayofyear'Интервалы являются днями от 1 до 366.datetime только
    'weekofmonth'Интервалы являются неделями от 1 до 6.datetime только
    'weekofyear'Интервалы являются неделями от 1 до 54.datetime только
    'monthname'Интервалы являются полными именами месяца, такими как 'January'.datetime только
    'monthofyear'

    Интервалы являются месяцами от 1 до 12.

    datetime только
    'quarterofyear'Интервалы являются четвертями от 1 до 4.datetime только

Когда несколько сгруппированных переменных или векторов заданы, можно предоставить одно правило раскладывания, которое применяется ко всем сгруппированным переменным или массиву ячеек, содержащему метод раскладывания для каждой сгруппированной переменной, таким как {'none',[0 2 4 Inf]}.

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

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

Пример: G = groupcounts(T,groupvars,groupbins,'IncludedEdge','right')

Включенная граница интервала в виде любого 'left' или 'right', указание, какой конец интервала интервала является включенным.

Эта пара "имя-значение" может только быть задана когда groupbins задан, и значение применяется ко всем схемам раскладывания всех сгруппированных переменных или векторов.

Недостающий индикатор групп в виде числового или логического 1 TRUE) или 0 ложь). Если значением параметров является true, затем groupcounts группы отображений составлены из отсутствующих значений, такие как NaN. Если значением параметров является false, затем groupcounts не отображает группы отсутствующего значения.

Пустой индикатор групп в виде числового или логического 0 ложь) или 1 TRUE). Если значением параметров является false, затем groupcounts не делает дисплейных групп с нулевыми элементами. Если значением параметров является true, затем groupcounts отображает пустые группы.

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

свернуть все

Выведите таблицу, возвращенную как таблица, содержащая вычисленные группы, число элементов в каждой группе и проценты, представленные каждым количеством группы. Для одной сгруппированной переменной выходные группы сортируются согласно порядку, возвращенному unique функция с 'sorted' опция.

Группа значит нетабличные входные данные, возвращенные как вектор-столбец, содержащий число элементов в каждой группе.

Группы для нетабличных входных данных, возвращенных как вектор-столбец или массив ячеек вектор-столбцов. Для одного вектора группировки выходные группы сортируются согласно порядку, возвращенному unique функция с 'sorted' опция.

Когда вы обеспечиваете больше чем один входной вектор, BG массив ячеек, содержащий вектор-столбцы равной длины. Информация о группе может быть найдена путем рассмотрения элементов, построчных через все векторы в BG. Счет для каждой группы содержится в соответствующей строке первого выходного аргумента B.

Проценты количества группы для нетабличных входных данных, возвращенных как вектор-столбец, содержащий процент каждое количество группы в B представляет. Проценты находятся в области значений [0 100].

Советы

  • При совершении многих вызовов к groupcounts, полагайте, что сгруппированные переменные преобразования вводят categorical или logical если это возможно, для улучшенной производительности. Например, если у вас есть сгруппированная переменная типа char (такие как Gender с элементами 'Male' и 'Female'), можно преобразовать его в категориальную переменную с помощью команды categorical(Gender).

Вопросы совместимости

развернуть все

Поведение изменяется в R2021a

Расширенные возможности

Введенный в R2019a