grouptransform
语法
描述
表数据
数组的数据
例子
填补缺失的数据组
创建一个时间表,其中包含三个团队的进展状况。
时间戳=天([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分类周二周三周四周五周六周五周六周二周三周六
输入参数
T
- - - - - -输入表
表|时间表
输入表,指定为一个表或时间表。
一个
- - - - - -输入数组
列向量|矩阵
输入数组,指定为一个列向量或一组列向量存储为一个矩阵。
groupvars
- - - - - -分组变量或向量
标量|向量|矩阵|单元阵列|模式|函数处理|表vartype
下标
分组变量或向量,指定这些选项之一:
对数组的输入数据,
groupvars
可以是一个列向量与相同数量的行吗一个
或一组列向量排列在一个矩阵或单元阵列。对于输入的数据表或时间表,
groupvars
表示使用哪个变量计算组的数据。您可以指定的分组变量在这个表格的任何选项。索引方案 例子 变量名:
一个字符串,特征向量,或细胞数组
一个
模式
对象
“一个”
或“一个”
——一个变量命名一个
(“A”、“B”)
或{' A ', ' B '}
——两个变量命名一个
和B
“Var”+ digitsPattern (1)
——变量命名“Var”
紧随其后的是一个数字
变量指数:
索引数字指的是表中的一个变量的位置
一个向量的数字
一个逻辑向量。通常,这个向量的长度是一样的变量,但你可以省略的
0
或假
值
3
从表中第三个变量3 [2]
从表中,第二个和第三个变量(假假真)
——第三个变量
功能处理:
一个函数处理,表变量作为输入,并返回一个逻辑标量
@isnumeric
——所有包含数值的变量
变量类型:
一个
vartype
下标,选择一个指定类型的变量
vartype(数字)
——所有包含数值的变量
例子:grouptransform (T“Var3”方法)
方法
- - - - - -转换方法
“zscore”
|“规范”
|“meancenter”
|“重新调节”
|“meanfill”
|“linearfill”
|函数处理
转换方法,指定这些值之一:
方法 |
描述 |
---|---|
|
规范化数据的意思是0和标准偏差1 |
|
规范化数据2-norm |
|
规范化数据的意思是0 |
|
重新调节范围[0,1] |
|
缺失值填充数据组的均值 |
|
填补缺失值常数的线性插值组数据 |
您还可以指定一个函数处理,返回一个数组的第一维的长度是1或有相同数量的行作为输入数据。如果函数返回一个数组,第一个维度长度等于1,grouptransform
重复值,输出有相同数量的行作为输入。
数据类型:字符
|字符串
|function_handle
groupbins
- - - - - -装箱计划
“没有”
(默认)|标量|向量|单元阵列
装箱计划,指定这些选项之一:
“没有”
,表明没有装箱本边缘的列表,指定为一个数值向量,或
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
- - - - - -表变量来操作
标量|向量|单元阵列|模式|函数处理|表vartype
下标
表变量操作,指定为这个表的选项之一。datavars
显示变量的输入表或时间表应用方法。其他变量没有规定datavars
通过输出不动手术。当datavars
没有指定,grouptransform
作用于每个nongrouping变量。
索引方案 | 例子 |
---|---|
变量名:
|
|
变量指数:
|
|
功能处理:
|
|
变量类型:
|
|
例子:grouptransform (T groupvars方法,(“Var1”“Var2”“Var4”])
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
例子:G = grouptransform (T groupvars groupbins“zscore IncludedEdge =“正确的”)
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:G = grouptransform (T groupvars groupbins、“zscore”、“IncludedEdge”,“正确的”)
IncludedEdge
- - - - - -包括本边缘
“左”
(默认)|“正确”
包括本边缘,指定为“左”
或“正确”
,表明本间隔的包容性。
这个名称-值参数可以指定只有当groupbins
指定,所有分组变量值适用于所有装箱方案或向量。
ReplaceValues
- - - - - -替换值指标
真正的
或1
(默认)|假
或0
替换值指标,指定这些值之一:
真正的
或1
——取代nongrouping表变量或列向量输入数据与表中的变量或包含转换数据的列向量。假
或0
——附加的输入数据表包含转换数据的变量或列向量。
输出参数
G
——输出表
表|时间表
输出表为表或时间表的输入数据,返回一个表或时间表。G
每组包含转换后的数据。
B
——输出数组
向量|矩阵
输出数组的数组输入数据,返回向量或矩阵。B
包含转换后的数据的地方nongrouping向量。
BG
——分组向量
列向量|单元阵列的列向量
分组向量数组输入数据,作为一个列向量或细胞返回数组的列向量。BG
包含了独特的分组矢量或封存分组组合对应的行B
。
提示
打很多电话的时候出现
grouptransform
,可以考虑将分组变量转换为类型分类
或逻辑
在可能的情况下提高性能。例如,如果你有一个字符串数组(如分组变量HealthStatus
与元素“穷”
,“公平”
,“好”
,“优秀”
),您可以将它转换成一个分类变量使用命令分类(HealthStatus)
。
扩展功能
高大的数组
计算和数组的行比装入内存。
使用笔记和限制:
如果
一个
和groupvars
都是高大的矩阵,然后他们必须有相同数量的行。如果第一个输入是一个高大的矩阵,那么
groupvars
可以是一个单元阵列包含高分组向量。的
groupvars
和datavars
参数不支持函数处理。万博1manbetx如果
方法
参数是一个函数处理,那么它必须是一个有效的输入splitapply
操作在一个高大的数组。分组时离散datetime数组、分类组名称不同而内存中
grouptransform
计算。
有关更多信息,请参见高大的数组。
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
不支持输入稀疏。万博1manbetx
装箱方案不支持datetime或持续时间数据万博1manbetx。
不支持输入表包含多维数组。万博1manbetx
计算方法必须是常数。
分组变量必须是常数时,第一个输入参数是一个表。
数据变量必须是常数。
装箱计划指定为特征向量或字符串必须是常数。
名称-值参数必须是常数。
计算方法不能返回稀疏或多维的结果。
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。万博1manbetx有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2018bR2022b:代码生成的支持万博1manbetx
生成的C或c++代码grouptransform
函数。使用notes和局限性,看到C / c++代码生成。
R2022a:通过小组的大小来改善性能
的grouptransform
函数显示了改进的性能,特别是当数据统计每组小。
例如,这个转换的代码组矩阵与500组数的10。代码是大约6.20倍的速度比以前的版本。
函数timingGrouptransform数据= (1:5000)';组= repelem(1:长度(数据)/ 10、10)';p = randperm(长度(数据));data =数据(p);组=组(p);抽搐为k = 1:290 G = grouptransform(数据、组“规范”);结束toc结束
执行时间大约是:
R2021b:6.26秒
R2022a:1.01秒
时间在Windows的代码®10日,英特尔®至强®v4 @ 3.60 GHz CPU e5 - 1650测试系统通过调用timingGrouptransform
函数。
另请参阅
功能
住编辑任务
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。