如何在matlab中计算无回路的组内标准差?
我有一个数据集,它有n个样本和由n*d矩阵表示的d个特征。相应的标签是一个n*1向量。如何在matlab中计算没有回路的每个组内标准偏差 例如: 样品如何在matlab中计算无回路的组内标准差?,matlab,standard-deviation,Matlab,Standard Deviation,我有一个数据集,它有n个样本和由n*d矩阵表示的d个特征。相应的标签是一个n*1向量。如何在matlab中计算没有回路的每个组内标准偏差 例如: 样品 5 1 1 1 4 5 2 5 3 1 1 3 5 5 5 5 5 3 4 5 4 5 5 5 4 标签: 2 1 1 2 2 如何计算类别1和类别2的标准偏差?使用accu
5 1 1 1 4
5 2 5 3 1
1 3 5 5 5
5 5 3 4 5
4 5 5 5 4
标签:
2
1
1
2
2
如何计算类别1和类别2的标准偏差?使用
accumarray
,您可以这样计算标准偏差:
stdev = cell2mat(accumarray(label,(1:length(label))',[],@(x){std(samples(x,:))}));
如果您有统计工具箱,则可以使用grpstats
:
stdev = grpstats(samples,label,'std')
使用
accumarray
,您可以像这样计算标准偏差:
stdev = cell2mat(accumarray(label,(1:length(label))',[],@(x){std(samples(x,:))}));
如果您有统计工具箱,则可以使用grpstats
:
stdev = grpstats(samples,label,'std')
+1:告诉我,有什么事你不能用accumarray做的吗+1:告诉我,有什么事你不能用accumarray做的吗