主要内容

grouptransform

变换的组

描述

例子

G= GroupTransform(TGroupvars.方法使用计算转换表中的数据或时间表方法,通过指定的变量进行分组Groupvars..输出G是包含转换的数据的表或时间表代替非组分变量T.例如,G = grouptransform (T,“性别”,“规范”)对数据进行规范化T用2-规范来区分性别。

例子

G= GroupTransform(TGroupvars.groupbins方法将转换后的数据按照groupbins,将这些组作为附加变量放在输出表的末尾。例如,g = grouptransform(t,'saledate','年','Rescale')缩放数据T到范围[0,1]和垃圾箱按销售年。

G= GroupTransform(___Datavars.指定要为前一种语法转换的表变量。

例子

G= GroupTransform(___名称,值使用一个或多个名称-值对指定其他分组属性。例如,G = grouptransform (T,‘临时’,‘linearfill’,‘ReplaceValues’,假)附加已填充的数据作为附加的变量T而不是替换非组间变量。

B= GroupTransform(一个Groupvars.方法根据分组向量的独特组合返回转换数据Groupvars.一个是一个向量或者矩阵。Groupvars.可以是列向量、矩阵或列向量的单元格数组。

例子

B= GroupTransform(一个Groupvars.groupbins方法将转换后的数据按照groupbins

B= GroupTransform(___名称,值使用一个或多个名称 - 值对为前一个阵列语法中的一个或多个名称值对指定其他分组属性。

例子

BBG) = grouptransform (一个___还返回分组向量的行。

例子

全部折叠

创建一个包含3支队伍的进度状态的时间表。

timeStamp = days([1 1 1 2 2 2 3 3 3]');teamNumber = [1 2 3 1 2 3 1 2 3]';percentComplete = [14.2 28.1 11.5 NaN NaN 19.3 46.1 51.2 30.3]';T =时间表(时间戳、teamNumber percentComplete)
t =9×2时间表timeStamp teamNumber percentComplete _________ __________ _______________ 1天1 14.2 1天2 28.1 1天3 11.5 2天1 NaN 2天2 NaN 2天3 19.3天1 46.1 3天2 51.2 3天3 30.3

填写缺失状态百分比(),使用线性插值。

G = grouptransform (T),“teamNumber”“linearfill”'百分比'
G =9×2时间表时间戳团队百分比百分比计算_________ __________________________________________第2天2 28.1 1天3 11.5 2天1 30.15 2天2 39.65 2天3 19.3 3天1 46.1 3天2 51.2 3天3.3

将填充的数据追加到原始表而不是替换百分比变量,使用“ReplaceValues”参数。

Gappend = grouptransform (T)“teamNumber”“linearfill”'百分比'“ReplaceValues”,错误的)
gappend =.9×3的时间表时间戳teamNumber percentComplete linearfill_percentComplete  _________ __________ _______________ __________________________ 1天1 28.1 14.2 28.1 14.2 1天2天3 11.5 - 11.5 2天1南30.15 - 2天2南3 19.3 19.3 39.65 - 2天3天1 46.1 - 46.1三天2 3 30.3 - 30.3 51.2 - 51.2三天

创建一个日期表和相应的利润。

时间戳= 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]);利润= [2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';T =表(时间戳,利润)
t =10×2表时间戳利润___________ ______ 04-MAR-2017 2032 02-MAR-2017 3071 15-MAR-2017 1185 10-MAR-2017 2587 14-MAR-2017 1998 31-Mar-2017 2899 25-Mar-2017 3112 29-Mar-2017 3112 29-Mar- 20172017 909 21-Mar-2017 2619 18-Mar-2017 3085

按日常名称进行分组,通过2常态正常化利润。

G = grouptransform (T),“时间戳”“dayname”“规范”
G =10×3表时间戳利润dayname_timeStamps ___________ _______ __________________ 04-MAR-2017 0.42069周六02-MAR-2017 1月15-MAR-2017 0.79344周三10月 -  2017年0.66582周五年3月14 2017年0.60654周二31月 -  2017年0.74612周五25-三月,2017年0.64428周六29-MAR-2017 0.60864周三3月21日 -  2017年0.79506周二18-MAR-2017 0.63869周六

创建日期向量和相应利润价值的向量。

时间戳= 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]);利润= [2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';

按星期分组,将利润值归一化为2-范数。显示转换后的数据及其对应的组。

[normDailyProfit, dayOfWeek] = grouptransform(利润,时间戳,“dayname”“规范”
normDailyProfit =10×10.4207 1.0000 0.7934 0.6658 0.6065 0.7461 0.6443 0.6086 0.7951 0.6387
Dayofweek =10 x1分类星期六星期四星期三星期五星期二星期五星期六星期三星期二星期六

输入参数

全部折叠

输入数据,指定为表或时间表。

输入数组,指定为向量或矩阵。

分组变量或向量,指定为以下选项之一:

  • 对数组输入,Groupvars.可以是行数相同的列向量一个或者在矩阵或单元阵列中排列的一组列向量。

  • 对于表格或时间表的输入数据,Groupvars.表示用于计算数据中的组的哪些变量。您可以使用此表中的任何选项指定分组变量。

    选项 描述 例子
    变量的名称

    指定单表变量名称的字符向量或标量标题

    “Var1”

    “var1”

    变量名向量

    字符向量或字符串数组的单元格数组,其中每个元素是表变量名

    {“Var1”“Var2”}

    [" Var1”“Var2”)

    可变指标的标量或向量

    表变量索引的标量或向量

    1

    [1 3 5]

    逻辑向量

    逻辑向量,其每个元素对应一个表变量,其中真的包含相应的变量和不包括它

    (真的假的真的)

    函数处理

    接受表变量作为输入并返回逻辑标量的函数句柄

    @isnumeric

    vartype下标

    属性生成的表下标vartype函数

    vartype(数字)

例子:grouptransform (T“Var3”方法)

计算方法,指定为下列方法之一:

方法

描述

“zscore”

标准化数据具有平均值0和标准偏差1

“规范”

按2-Norm正常化数据

'意思是'

将数据归一化使其均值为0

“重新调节”

Rescale范围到[0,1]

“meanfill”

使用组数据的平均值填充缺失值

“linearfill”

用非缺失组数据的线性插值填充缺失值

还可以指定一个函数句柄,该句柄返回第一个维度长度为1或与输入数据的行数相同的实体。如果函数返回第一维长度等于1的实体,则grouptransform重复该值,以便输出的行数与输入的行数相同。

数据类型:字符|细绳|function_handle

要操作的表变量,指定为该表中的选项之一。Datavars.指示将方法应用于输入表或时间表的哪个变量。表中未指定的其他变量Datavars.通过到输出而不被操作。当Datavars.未指定,grouptransform对每个非分组变量进行操作。

选项 描述 例子
变量的名称

指定单表变量名称的字符向量或标量标题

“Var1”

“var1”

变量名向量

字符向量或字符串数组的单元格数组,其中每个元素是表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

可变指标的标量或向量

表变量索引的标量或向量

1

[1 3 5]

逻辑向量

逻辑向量,其每个元素对应一个表变量,其中真的包含相应的变量和不包括它

(真的假的真的)

函数处理

接受表变量作为输入并返回逻辑标量的函数句柄

@isnumeric

vartype下标

属性生成的表下标vartype函数

vartype(数字)

例子:GroupTransform(t,groupvars,方法,[“var1”“var2”“var4”))

分融合计划,指定为以下选项之一:

  • “没有”,表示没有装箱

  • 容器边的列表,指定为数字向量或datetime向量为datetime分组变量

  • 许多箱子,指定为整数标量

  • 持续时间,指定为类型的标量持续时间要么calendarDuration表示仓宽(用于datetime要么持续时间分组变量)

  • 列出每个分组变量的分类规则的单元格数组

  • 一个时间垃圾箱datetime持续时间仅分组变量,指定为以下字符向量之一:

    价值 描述 数据类型
    “第二”

    每个箱子是1秒。

    datetime持续时间
    “一分钟”

    每个垃圾桶为1分钟。

    datetime持续时间
    '小时'

    每个垃圾桶是1小时。

    datetime持续时间
    '天'

    每个垃圾箱是1个日历天。这个值说明了夏令时转换。

    datetime持续时间
    “周” 每个垃圾桶是一个日历周。 datetime只有
    “月” 每个垃圾箱是1个日历月。 datetime只有
    '四分之一' 每个箱子是1个日历季度。 datetime只有
    '年'

    每个垃圾桶是1个日历年。该值用于闰日。

    datetime持续时间
    “十年” 每个垃圾桶是1个十年(10个日历年)。 datetime只有
    “世纪” 每个垃圾箱都是1世纪(100个日历年)。 datetime只有
    “secondofminute”

    箱子的时间从0到59秒。

    datetime只有
    “minuteofhour”

    垃圾箱的分钟从0到59。

    datetime只有
    “hourofday”

    箱子从0到23小时。

    datetime只有
    “dayofweek”

    垃圾箱是从1天到7天。一周的第一天是星期天。

    datetime只有
    “dayname” 垃圾箱是全天的名称,如'星期日' datetime只有
    “dayofmonth” 垃圾箱是1到31天。 datetime只有
    “dayofyear” 垃圾桶是1到366天。 datetime只有
    “weekofmonth” 垃圾箱从1到6周。 datetime只有
    “weekofyear” 垃圾箱从1到54个星期。 datetime只有
    “monthname” bin是完整的月份名称,例如“1月” datetime只有
    '铃声'

    垃圾箱是1到12个月。

    datetime只有
    “quarterofyear” 垃圾箱是1到4的季度。 datetime只有

当指定多个分组变量时,您可以提供应用于所有分组变量的单一分组规则,或者为每个分组变量提供包含分组方法的单元格数组,例如{'none',[0 2 4 Inf]}

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。名称参数名和价值是相应的价值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:g = grouptransform(t,groupvars,groupbins,'zscore','presented','右')

包括仓边,指定为“左”要么“对”,指示bin间隔的哪个端点是包含的。

此名称值对只能指定何时groupbins,该值将应用于所有分组变量或向量的所有分类方案。

转换位置指示符,指定为数字或逻辑1真的)或0)。当参数值是真的grouptransform使用转换的数据输出表或数组来代替输入的非组间变量或向量。当参数值是grouptransform将转换的数据作为附加矩阵列或表变量附加到输入数据。

输出参数

全部折叠

输出表,作为包含每个组转换后的数据的表或时间表返回。

输出数组,作为包含转换后数据的向量或矩阵返回。

将数组输入数据的向量分组,作为列向量或列向量的单元格数组返回。

提示

  • 当打许多电话时grouptransform,考虑将分组变量转换为类型分类要么逻辑什么时候可以提高性能。例如,如果您有类型的分组变量字符(如性别与元素“男”“女”),您可以使用命令将其转换为分类值分类(性别)

扩展能力

介绍了R2018b