主要内容

GroupTransform.

由组转换

描述

例子

G= grouptransform (Tgroupvars方法中的计算转换表或时间表中的数据方法中指定的变量进行分组groupvars.输出G是否有一个包含转换后的数据的表格或时间表来代替非分组变量T.例如,G = grouptransform (T,“性别”,“规范”)对数据进行规范化T用2-规范来区分性别。

例子

G= grouptransform (Tgroupvarsgroupbins方法按照变换的数据groupbins,将这些组作为附加变量放在输出表的末尾。例如,G = grouptransform (T,‘SaleDate’,‘年’,重新调节)缩放数据T到范围[0,1]和垃圾箱按销售年。

G= grouptransform (___datavars指定要为先前语法中的任何一个转换的表变量。

例子

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

B= grouptransform (一个groupvars方法根据集合中的向量的唯一组合返回转换后的数据groupvars什么时候一个是矢量或矩阵。groupvars可以是列向量、矩阵或列向量的单元格数组。

例子

B= grouptransform (一个groupvarsgroupbins方法按照变换的数据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时间表时间戳队伍数百分比计算_________ __________________________ 1天1 14.2 1天2 28.1 1天3 11.5 2天1南南2天2天3 19.3 3天1 46.1 3天2 51.2 3天3 30.3

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

g = grouptransform(t,'teamnumber''linearfill'“percentComplete”
G =9×2时间表timeStamp teamNumber percentComplete _________ __________ _______________ 1天1 14.2 1天2 28.1 1天3 11.5 2天1 30.15 2天2 39.65 2天3 19.3天1 46.1 3天2 51.2 3天3 30.3

将填充的数据追加到原始表,而不是替换percentComplete变量,使用“ReplaceValues”范围。

Gappend = grouptransform (T)'teamnumber''linearfill'“percentComplete”“ReplaceValues”假)
Gappend =9×3的时间表时间戳Teamnumber Percomplete linearfill_percentcomplete _____________________________________________________________________________2 28.1 1天3 11.5 11.5 2天1纳米30.15 2天2纳米39.65 2日3 19.3 19.3 3天1 46.1 46.1 3天2 51.2 51.2 3天3天2 51.2 51.2 3天3 30.3 30.3.

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

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

按日名称分组,按2-规范将利润归一化。

g = grouptransform(t,'时间戳'“dayname”“规范”
G =10×3表timeStamps profit dayname_timeStamps __________________ __________________ 04- 3 -2017星期六02- 3 -2017 1星期四15- 3 -2017 0.79344星期三10- 3 -2017 0.66582星期五14- 3 -2017 0.60654星期二31- 3 -2017 0.74612星期五25- 3 -2017 0.64428星期六29- 3 -2017 0.60864星期三21- 3 -2017 0.79506星期二18- 3 -2017 0.63869周六

创建一个日期向量和相应利润值向量。

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]);利润= [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 =10x1分类星期六星期四星期三星期五星期二星期五星期六星期三星期二星期六

输入参数

全部折叠

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

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

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

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

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

    选项 描述 例子
    变量名

    指定单个表变量名的字符向量或标量字符串

    “Var1”

    “Var1”

    变量名向量

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

    {'var1''var2'}

    [“var1”“var2”]

    标量或可变指数的矢量

    表变量索引的标量或向量

    1

    [1 3 5]

    逻辑向量

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

    (真的假的真的)

    功能手柄

    函数句柄,将表变量作为输入返回逻辑标量

    @Isnumeric.

    vartype下标

    由此生成的表格下标vartype函数

    vartype(数字)

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

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

方法

描述

“zscore”

将数据归一化,使其均值为0,标准差为1

“规范”

用2-范数规范化数据

“meancenter”

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

“重新调节”

重标范围为[0,1]

'默许'

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

'linearfill'

通过非胶质组数据的线性插值填充缺失值

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

数据类型:char|字符串|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”])

bining方案,指定为以下选项之一:

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

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

  • 指定为整数标量的一组容器

  • 指定为类型标量的时间持续时间持续时间日历表示箱宽度(用于datetime持续时间分组变量)

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

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

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

    每个垃圾箱都是1秒钟。

    datetime持续时间
    “一分钟”

    每个垃圾箱都是1分钟。

    datetime持续时间
    “小时”

    每个垃圾桶是1小时。

    datetime持续时间
    “天”

    每个垃圾箱都是1个日历日。此值帐户占夏令时的班次。

    datetime持续时间
    '星期' 每个垃圾箱都是1个日历周。 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” Bins是完整的日名,例如“星期天” datetime只要
    'DayofMonth' 垃圾桶是1到31天。 datetime只要
    'Dayofyear' 垃圾箱是从1到366的日子。 datetime只要
    'feewofomon' 垃圾箱从1到6周几周。 datetime只要
    “weekofyear” 垃圾箱从1到54个星期。 datetime只要
    “monthname” bin是完整的月份名称,例如“1月” datetime只要
    “monthofyear”

    垃圾箱是1到12个月。

    datetime只要
    'seturanfyear' 垃圾桶是1到4的四分之一。 datetime只要

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

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:G = grouptransform (T groupvars groupbins,‘zscore’,‘IncludedEdge’,‘正确的’)

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

此名称-值对只能在groupbins指定了,该值应用于所有分组变量或向量的所有分档方案。

转换位置指示符,指定为数字或逻辑1真正的)或0).当参数值为时真正的GroupTransform.输出带有转换后数据的表或数组,以代替输入中的非分组变量或向量。当参数值为时GroupTransform.将转换后的数据作为附加的矩阵列或表变量附加到输入数据中。

输出参数

全部折叠

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

输出阵列,返回为包含变换数据的向量或矩阵。

分组阵列输入数据的向量,作为列向量或列向量的小区向量返回。

提示

  • 当打许多电话时GroupTransform.,考虑将分组变量转换为类型分类逻辑在可能的情况下提高性能。例如,如果您有一个类型为的分组变量char(如性别与元素“男”“女”),您可以使用该命令将其转换为分类值分类(性别)

扩展功能

介绍了R2018b