0

预先感谢您的帮助 !

在 Matlab 中,boxplot 命令可以接受分组变量 G,即:

boxplot(X,G) 指定一个或多个分组变量 G,为共享相同 G 值的每组 X 值生成一个单独的框。分组变量必须为 X 的每个元素一行,或 X 的每列一行。使用向量、字符数组、字符串元胞数组或向量分类数组指定 G 中的单个分组变量;使用这些变量类型的元胞数组(例如 {G1 G2 G3})或使用矩阵来指定 G 中的多个分组变量。如果使用多个分组变量,它们的长度必须相同。分组变量中包含 NaN 值或空字符串的组将被忽略,并且不计入其他参数考虑的组数。

但是,箱线图的 Octave 实现似乎缺少此参数。例如,假设我有以下向量,

X = [1.34, 2.89, 1.28, 2.98, 8.84, 8.38, 3.26, 4.06, 42.48, 3.19, 3.63, 3.23];% 更长的时间

G = [1、3、3、3、23、15、15、23、23、20、23、23];% 更长的时间

在 matlab 中运行 boxplot(X, G) 将创建一个图,其中 X 中的值(在同一组中)被放在同一个框中。

有没有办法在 Octave 中解决这个问题?

4

2 回答 2

0

Octave boxplot 允许使用单元向量作为输入。您可以按如下方式预先创建单元向量。

uniG = unique(G);
l = length(uniG);
for i = 1:l
  XG{i} = X(G == uniG(i));
end
boxplot(XG);
于 2014-01-06T08:56:28.600 回答
0

您必须将它们分组在圣地亚哥提到的单元格中,但可以通过以下方式更轻松地完成

boxplot({X, G})

请参阅http://octave.sourceforge.net/statistics/function/boxplot.html中的示例,注意{}

于 2016-07-16T17:32:34.790 回答