类别:数据集
(不推荐)将数据集数组从单个变量取消堆栈为多个变量
这个数据集
不建议使用数据类型。若要处理异构数据,请使用MATLAB®桌子
改为数据类型。参见MATLAB桌子
有关更多信息,请参阅文档。
A=取消堆栈(B,数据变量,indvar)
[A,iB]=取消堆栈(B,数据变量,indvar)
A=取消堆栈(B、数据变量、indvar、,“参数”
,价值
)
A=取消堆栈(B,数据变量,indvar)
取消数据集数组中单个变量的堆栈B
在中转换为多个变量A.
. 一般来说A.
包含的变量比B
.
数据变量
指定中的数据变量B
解开。因德瓦
在中指定一个指示符变量B
这决定了中的哪个变量A.
中的每个值数据变量
未被压入。解开
处理中的其余变量B
作为分组变量。其值的每个唯一组合定义了一组B
这将被分解成一个单独的观察结果A.
.
解开
创造M
中的数据变量A.
哪里M
是中的组级别数因德瓦
.这些价值观因德瓦
指出哪一个M
变量从中接收哪些值数据变量
这个J
-中的第th个数据变量A.
包含来自的值数据变量
这与观察到的因德瓦
价值是最重要的J
-月日M
可能的级别。这些级别的要素M
中没有相应数据值的变量B
“存在”包含默认值。
数据变量
是正整数、字符向量、字符串标量或包含单个真值的逻辑向量。因德瓦
是正整数、变量名或包含单个真值的逻辑向量。
[A,iB]=取消堆栈(B,数据变量,indvar)
返回一个索引向量iB
表示观察结果之间的对应关系A.
那些在B
.对于每一项观察A.
,iB
包含中相应观察值组中第一个的索引B
.
有关分组变量的详细信息,请参见分组变量.
A=取消堆栈(B、数据变量、indvar、,
使用以下参数名称/值对来控制“参数”
,价值
)解开
在中转换变量B
输入变量A.
:
“群变” |
将变量分组到B 它定义了观察组。群变 是正整数、正整数向量、字符向量、字符串数组、字符向量单元格数组或逻辑向量。默认值为中的所有变量B 未列入数据变量 或因德瓦 . |
“NewDataVarNames” |
包含数据变量名称的字符向量的字符串数组或单元格数组解开 应该在A. .Default是中指定的分组变量的组名因德瓦 . |
“聚合乐趣” |
一种函数句柄,它接受来自数据变量 并返回单个值。堆栈 将此函数应用于具有相同值的同一组的观测值因德瓦 。函数必须将数据值聚合为单个值,在这种情况下无法恢复B 从…起A. 使用堆栈 。默认值为@总数 用于数字数据变量。对于非数值变量,没有默认值,必须指定“聚合乐趣” 如果同一组中的多个观测值具有相同的因德瓦 . |
“康斯塔瓦” |
变量B 抄送A. 不拆垛。中这些变量的值A. 从每组的第一次观察中得出B ,因此这些变量在每个组中通常应该是常量。康斯塔瓦 是正整数、正整数向量、字符向量、字符串数组、字符向量单元格数组或逻辑向量。默认值为无变量。 |
您还可以在中指定多个数据变量B
,每一个都成为一组M
变量A.
。在这种情况下,请指定数据变量
作为正整数的向量,包含变量名的字符串数组或单元格数组,或逻辑向量。只能使用因德瓦
.中每组数据变量的名称A.
中相应数据变量的名称B
与中指定的名称连接“NewDataVarNames”
。中指定的函数“聚合乐趣”
必须返回包含单行的值。
将估计流感发病率的多个变量合并为一个变量。然后按日期取消对估计流感发病率的统计。
load flu%流感有一个“日期”变量和10个估计流感发病率的变量(在9个不同的地区,通过谷歌搜索估计,再加上CDC的全国估计)。将这10个变量组合成一个%数组,该数组有一个数据变量“FluRate”,还有一个指示符%variable“Region”,表示每个估计值来自哪个区域。[flu2,iflu]=stack(flu,2:11,“NewDataVarName”,“FluRate”,“IndVarName”,“Region”)%流感的第二次观察是在2005年10月16日。请查找与该日期对应的FLU2中的观察值%。FLU(2,:)FLU2(iflu==2,:)%使用该数组中的“Date”变量将“FluRate”拆分为52%的独立变量,每个变量包含每个唯一日期%的估计流感发病率。新数组对每个区域都有一个观察。实际上,这是原始数组FLU“在其一侧”。dateNames=cellstr(datestr(FLU.Date,'mmm_DD_yyyyy');[flu3,iflu2]=unstack(flu2,'FluRate','Date',…'NewDataVarNames',dateNames)%FLU3中的观测值表示区域,IFLU2表示每个区域在flu2中出现的第一个百分比。flu2(IFLU2,:)