[英]Boxplot in octave
我正在尝试使用boxplot(data)
创建此示例数据的boxplot(data)
1,0.3074855004
1,0.5342907151
1,0.1243014226
1,0.8373050862
1,0.2964970712
2,0.2753391378
2,0.0662903741
2,0.7435585174
2,0.141665858
2,0.8710871406
3,0.683215396
3,0.9968826184
3,0.8009274979
3,0.6164554236
3,0.9880523647
4,0.6854059871
4,0.4828904583
4,0.6001796951
4,0.3790802876
4,0.5728325425
我希望得到一个包含四列的图形,但是当前输出仅显示两列。 这是输出
我尝试按照这里的文档
http://octave.sourceforge.net/statistics/function/boxplot.html
但我仍然无法获得理想的结果。
请以正确的语法帮助我,以获取正确的八度倍数箱线图。
谢谢,
您的期望是错误的。 为什么boxplot()
假定第一列是组号。 boxplot()
的文档说:
DATA是每个数据集只有一列的矩阵,或者data是每个数据集只有一个像元的像元向量。
您的数据不是上述任何数据。
另外,为什么还要通过这样设置来浪费内存呢? 为什么会有一列仅用于存储组号? 由于每个组似乎具有相同数量的值,因此您可以将第二列重塑为矩阵,每组一个列:
octave> reshape (data(:,2), 5, 4)
ans =
0.307486 0.275339 0.683215 0.685406
0.534291 0.066290 0.996883 0.482890
0.124301 0.743559 0.800927 0.600180
0.837305 0.141666 0.616455 0.379080
0.296497 0.871087 0.988052 0.572833
或者如果每个组具有不同数量的值,请使用单元格数组:
octave> accumarray (data(:,1), data(:,2), [], @(x) {x})
ans =
{
[1,1] =
0.30749
0.53429
0.12430
0.83731
0.29650
[2,1] =
0.275339
0.066290
0.743559
0.141666
0.871087
[3,1] =
0.68322
0.99688
0.80093
0.61646
0.98805
[4,1] =
0.68541
0.48289
0.60018
0.37908
0.57283
}
一旦您的数据是明智的格式, boxplot()
将按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.