主要内容

grouptransform

变换的组

描述

表数据

G= grouptransform (T,groupvars,方法)返回转换后的数据的地方nongrouping变量在表或时间表T。group-wise计算的方法应用于每个nongrouping变量。组行定义的变量groupvars具有相同的独特组合值。例如,G = grouptransform (T,“HealthStatus”、“规范”)规范化的数据在T通过使用2-norm健康状况。

例子

G= grouptransform (T,groupvars,groupbins,方法)指定本行groupvars根据装箱方案groupbins之前的分组和附加箱输出表的额外变量。例如,G = grouptransform (T,“SaleDate”,“年”,“重新调节”)垃圾箱被出售,尺度的数据T区间[0,1]。

G= grouptransform (___,datavars)指定表变量的方法申请之前的语法。

例子

G= grouptransform (___,名称,值)指定额外的属性使用一个或多个名称-值参数的任何以前的语法。例如,G = grouptransform (T,“临时工”,“linearfill”、“ReplaceValues”,假)附加的数据作为一个额外的变量T而不是取代nongrouping变量。

数组的数据

B= grouptransform (一个,groupvars,方法)返回转换后的数据在输入向量或矩阵的列向量一个。group-wise计算的方法应用于所有列向量一个。组行定义的列向量groupvars具有相同的独特组合值。

例子

B= grouptransform (一个,groupvars,groupbins,方法)指定本行groupvars根据装箱方案groupbins之前分组。

B= grouptransform (___,名称,值)指定额外的属性使用一个或多个名称参数输入数组的前面的语法。

例子

(B,BG)= grouptransform (一个,___)还返回的值分组向量或封存分组向量对应的行B

例子

全部折叠

创建一个时间表,其中包含三个团队的进展状况。

时间戳=天([1 1 1 2 2 2 3 3 3]”);teamNumber = [1 2 3 1 2 3 1 2 3) ';percentComplete =[19.3 46.1 51.2 30.3 14.2 28.1 11.5南南)';T =时间表(时间戳、teamNumber percentComplete)
T =9×2时间表时间戳teamNumber percentComplete _____ __________售予1天1 28.1 14.2 1天2天3 11.5 - 2天1南2天2南2天3 19.3 3天1 30.3 46.1 51.2 3天2 3天3

填补缺失状态百分比,显示使用线性插值,对于每一个团队。

G = grouptransform (T),“teamNumber”,“linearfill”,“percentComplete”)
G =9×2时间表时间戳teamNumber percentComplete _____ __________售予1天1 28.1 14.2 1天2天3 11.5 - 2天1 30.15 - 2天2 39.65 - 2天3 19.3 3天1 30.3 46.1 51.2 3天2 3天3

添加了数据原始表而不是取代percentComplete变量,使用ReplaceValues

Gappend = grouptransform (T)“teamNumber”,“linearfill”,“percentComplete”,“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 - 2032年3月- 2017年02 - 1185年3月15 - 3月- 2017 - 2017 3071 10 - 3月- 2017年3月14 - 2587 - 2017 1998 2899 - 3月- 2017年3月25 - 31 - 2017 3112 909 - 3月- 2017年3月21 - 29日18 - mar - 2017 3085 - 2017 2619

装箱的名字,使用2-norm正常利润。

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

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

时间戳= 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-norm正常利润。显示转换后的数据,对应哪一组。

[normDailyProfit, dayName] = grouptransform(利润,时间戳,“dayname”,“规范”)
normDailyProfit =10×10.4207 1.0000 0.7934 0.6658 0.6065 0.7461 0.6443 0.6086 0.7951 0.6387
dayName =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

“meancenter”

规范化数据的意思是0

“重新调节”

重新调节范围[0,1]

“meanfill”

缺失值填充数据组的均值

“linearfill”

填补缺失值常数的线性插值组数据

您还可以指定一个函数处理,返回一个数组的第一维的长度是1或有相同数量的行作为输入数据。如果函数返回一个数组,第一个维度长度等于1,grouptransform重复值,输出有相同数量的行作为输入。

数据类型:字符|字符串|function_handle

装箱计划,指定这些选项之一:

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

  • 本边缘的列表,指定为一个数值向量,或datetime向量为datetime分组变量或向量

  • 一些垃圾箱,指定为一个正整数标量

  • 时间,指定为一个标量类型持续时间calendarDuration表明本宽度(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” 垃圾箱是一整天的名字等“星期天” datetime只有
    “dayofmonth” 箱子从1到31天。 datetime只有
    “dayofyear” 箱子从1到366天。 datetime只有
    “weekofmonth” 箱子从1到6周。 datetime只有
    “weekofyear” 箱子从1 - 54周。 datetime只有
    “monthname” 箱子里满是如月的名字“1月” datetime只有
    “monthofyear”

    箱子从1到12个月。

    datetime只有
    “quarterofyear” 箱子从1到4季度。 datetime只有

当多个分组变量或向量指定,您可以提供一个装箱方法应用于所有分组变量或向量,或一个细胞为每个分组变量或数组包含面元法向量等{“没有”,[0 2 4正]}

表变量操作,指定为这个表的选项之一。datavars显示变量的输入表或时间表应用方法。其他变量没有规定datavars通过输出不动手术。当datavars没有指定,grouptransform作用于每个nongrouping变量。

选项 描述 例子
变量名

一个特征向量指定单个表或字符串标量变量名称

“Var1”

“Var1”

向量的变量名

特征向量的单元阵列或字符串数组,其中每个元素是一个表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

标量或矢量变量指标

一个标量或矢量表变量指标

1

[1 3 5]

逻辑向量

逻辑向量的每个元素对应一个表变量真正的包括相应的变量不包括它

(真的假的真的)

函数处理

一个函数处理,表变量作为输入,并返回一个逻辑标量

@isnumeric

vartype下标

表生成的下标vartype函数

vartype(数字)

例子:grouptransform (T groupvars方法,(“Var1”“Var2”“Var4”])

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:G = grouptransform (T groupvars groupbins“zscore IncludedEdge =“正确的”)

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:G = grouptransform (T groupvars groupbins、“zscore”、“IncludedEdge”,“正确的”)

包括本边缘,指定为“左”“正确”,表明本间隔的包容性。

这个名称-值参数可以指定只有当groupbins指定,所有分组变量值适用于所有装箱方案或向量。

替换值指标,指定这些值之一:

  • 真正的1——取代nongrouping表变量或列向量输入数据与表中的变量或包含转换数据的列向量。

  • 0——附加的输入数据表包含转换数据的变量或列向量。

输出参数

全部折叠

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

输出数组的数组输入数据,返回向量或矩阵。B包含转换后的数据的地方nongrouping向量。

分组向量数组输入数据,作为一个列向量或细胞返回数组的列向量。BG包含了独特的分组矢量或封存分组组合对应的行B

提示

  • 打很多电话的时候出现grouptransform,可以考虑将分组变量转换为类型分类逻辑在可能的情况下提高性能。例如,如果你有一个字符串数组(如分组变量HealthStatus与元素“穷”,“公平”,“好”,“优秀”),您可以将它转换成一个分类变量使用命令分类(HealthStatus)

扩展功能

版本历史

介绍了R2018b

全部展开