001    /*
002     * Copyright (C) 2008-2010 by Holger Arndt
003     *
004     * This file is part of the Universal Java Matrix Package (UJMP).
005     * See the NOTICE file distributed with this work for additional
006     * information regarding copyright ownership and licensing.
007     *
008     * UJMP is free software; you can redistribute it and/or modify
009     * it under the terms of the GNU Lesser General Public License as
010     * published by the Free Software Foundation; either version 2
011     * of the License, or (at your option) any later version.
012     *
013     * UJMP is distributed in the hope that it will be useful,
014     * but WITHOUT ANY WARRANTY; without even the implied warranty of
015     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
016     * GNU Lesser General Public License for more details.
017     *
018     * You should have received a copy of the GNU Lesser General Public
019     * License along with UJMP; if not, write to the
020     * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
021     * Boston, MA  02110-1301  USA
022     */
023    
024    package org.ujmp.core.util.matrices;
025    
026    import org.ujmp.core.stringmatrix.stub.AbstractDenseStringMatrix2D;
027    
028    public class IrisMatrix extends AbstractDenseStringMatrix2D {
029            private static final long serialVersionUID = -5331566135586871374L;
030    
031            private final String[][] data = new String[][] { { "5.1", "3.5", "1.4", "0.2", "Iris-setosa" },
032                            { "4.9", "3.0", "1.4", "0.2", "Iris-setosa" },
033                            { "4.7", "3.2", "1.3", "0.2", "Iris-setosa" },
034                            { "4.6", "3.1", "1.5", "0.2", "Iris-setosa" },
035                            { "5.0", "3.6", "1.4", "0.2", "Iris-setosa" },
036                            { "5.4", "3.9", "1.7", "0.4", "Iris-setosa" },
037                            { "4.6", "3.4", "1.4", "0.3", "Iris-setosa" },
038                            { "5.0", "3.4", "1.5", "0.2", "Iris-setosa" },
039                            { "4.4", "2.9", "1.4", "0.2", "Iris-setosa" },
040                            { "4.9", "3.1", "1.5", "0.1", "Iris-setosa" },
041                            { "5.4", "3.7", "1.5", "0.2", "Iris-setosa" },
042                            { "4.8", "3.4", "1.6", "0.2", "Iris-setosa" },
043                            { "4.8", "3.0", "1.4", "0.1", "Iris-setosa" },
044                            { "4.3", "3.0", "1.1", "0.1", "Iris-setosa" },
045                            { "5.8", "4.0", "1.2", "0.2", "Iris-setosa" },
046                            { "5.7", "4.4", "1.5", "0.4", "Iris-setosa" },
047                            { "5.4", "3.9", "1.3", "0.4", "Iris-setosa" },
048                            { "5.1", "3.5", "1.4", "0.3", "Iris-setosa" },
049                            { "5.7", "3.8", "1.7", "0.3", "Iris-setosa" },
050                            { "5.1", "3.8", "1.5", "0.3", "Iris-setosa" },
051                            { "5.4", "3.4", "1.7", "0.2", "Iris-setosa" },
052                            { "5.1", "3.7", "1.5", "0.4", "Iris-setosa" },
053                            { "4.6", "3.6", "1.0", "0.2", "Iris-setosa" },
054                            { "5.1", "3.3", "1.7", "0.5", "Iris-setosa" },
055                            { "4.8", "3.4", "1.9", "0.2", "Iris-setosa" },
056                            { "5.0", "3.0", "1.6", "0.2", "Iris-setosa" },
057                            { "5.0", "3.4", "1.6", "0.4", "Iris-setosa" },
058                            { "5.2", "3.5", "1.5", "0.2", "Iris-setosa" },
059                            { "5.2", "3.4", "1.4", "0.2", "Iris-setosa" },
060                            { "4.7", "3.2", "1.6", "0.2", "Iris-setosa" },
061                            { "4.8", "3.1", "1.6", "0.2", "Iris-setosa" },
062                            { "5.4", "3.4", "1.5", "0.4", "Iris-setosa" },
063                            { "5.2", "4.1", "1.5", "0.1", "Iris-setosa" },
064                            { "5.5", "4.2", "1.4", "0.2", "Iris-setosa" },
065                            { "4.9", "3.1", "1.5", "0.1", "Iris-setosa" },
066                            { "5.0", "3.2", "1.2", "0.2", "Iris-setosa" },
067                            { "5.5", "3.5", "1.3", "0.2", "Iris-setosa" },
068                            { "4.9", "3.1", "1.5", "0.1", "Iris-setosa" },
069                            { "4.4", "3.0", "1.3", "0.2", "Iris-setosa" },
070                            { "5.1", "3.4", "1.5", "0.2", "Iris-setosa" },
071                            { "5.0", "3.5", "1.3", "0.3", "Iris-setosa" },
072                            { "4.5", "2.3", "1.3", "0.3", "Iris-setosa" },
073                            { "4.4", "3.2", "1.3", "0.2", "Iris-setosa" },
074                            { "5.0", "3.5", "1.6", "0.6", "Iris-setosa" },
075                            { "5.1", "3.8", "1.9", "0.4", "Iris-setosa" },
076                            { "4.8", "3.0", "1.4", "0.3", "Iris-setosa" },
077                            { "5.1", "3.8", "1.6", "0.2", "Iris-setosa" },
078                            { "4.6", "3.2", "1.4", "0.2", "Iris-setosa" },
079                            { "5.3", "3.7", "1.5", "0.2", "Iris-setosa" },
080                            { "5.0", "3.3", "1.4", "0.2", "Iris-setosa" },
081                            { "7.0", "3.2", "4.7", "1.4", "Iris-versicolor" },
082                            { "6.4", "3.2", "4.5", "1.5", "Iris-versicolor" },
083                            { "6.9", "3.1", "4.9", "1.5", "Iris-versicolor" },
084                            { "5.5", "2.3", "4.0", "1.3", "Iris-versicolor" },
085                            { "6.5", "2.8", "4.6", "1.5", "Iris-versicolor" },
086                            { "5.7", "2.8", "4.5", "1.3", "Iris-versicolor" },
087                            { "6.3", "3.3", "4.7", "1.6", "Iris-versicolor" },
088                            { "4.9", "2.4", "3.3", "1.0", "Iris-versicolor" },
089                            { "6.6", "2.9", "4.6", "1.3", "Iris-versicolor" },
090                            { "5.2", "2.7", "3.9", "1.4", "Iris-versicolor" },
091                            { "5.0", "2.0", "3.5", "1.0", "Iris-versicolor" },
092                            { "5.9", "3.0", "4.2", "1.5", "Iris-versicolor" },
093                            { "6.0", "2.2", "4.0", "1.0", "Iris-versicolor" },
094                            { "6.1", "2.9", "4.7", "1.4", "Iris-versicolor" },
095                            { "5.6", "2.9", "3.6", "1.3", "Iris-versicolor" },
096                            { "6.7", "3.1", "4.4", "1.4", "Iris-versicolor" },
097                            { "5.6", "3.0", "4.5", "1.5", "Iris-versicolor" },
098                            { "5.8", "2.7", "4.1", "1.0", "Iris-versicolor" },
099                            { "6.2", "2.2", "4.5", "1.5", "Iris-versicolor" },
100                            { "5.6", "2.5", "3.9", "1.1", "Iris-versicolor" },
101                            { "5.9", "3.2", "4.8", "1.8", "Iris-versicolor" },
102                            { "6.1", "2.8", "4.0", "1.3", "Iris-versicolor" },
103                            { "6.3", "2.5", "4.9", "1.5", "Iris-versicolor" },
104                            { "6.1", "2.8", "4.7", "1.2", "Iris-versicolor" },
105                            { "6.4", "2.9", "4.3", "1.3", "Iris-versicolor" },
106                            { "6.6", "3.0", "4.4", "1.4", "Iris-versicolor" },
107                            { "6.8", "2.8", "4.8", "1.4", "Iris-versicolor" },
108                            { "6.7", "3.0", "5.0", "1.7", "Iris-versicolor" },
109                            { "6.0", "2.9", "4.5", "1.5", "Iris-versicolor" },
110                            { "5.7", "2.6", "3.5", "1.0", "Iris-versicolor" },
111                            { "5.5", "2.4", "3.8", "1.1", "Iris-versicolor" },
112                            { "5.5", "2.4", "3.7", "1.0", "Iris-versicolor" },
113                            { "5.8", "2.7", "3.9", "1.2", "Iris-versicolor" },
114                            { "6.0", "2.7", "5.1", "1.6", "Iris-versicolor" },
115                            { "5.4", "3.0", "4.5", "1.5", "Iris-versicolor" },
116                            { "6.0", "3.4", "4.5", "1.6", "Iris-versicolor" },
117                            { "6.7", "3.1", "4.7", "1.5", "Iris-versicolor" },
118                            { "6.3", "2.3", "4.4", "1.3", "Iris-versicolor" },
119                            { "5.6", "3.0", "4.1", "1.3", "Iris-versicolor" },
120                            { "5.5", "2.5", "4.0", "1.3", "Iris-versicolor" },
121                            { "5.5", "2.6", "4.4", "1.2", "Iris-versicolor" },
122                            { "6.1", "3.0", "4.6", "1.4", "Iris-versicolor" },
123                            { "5.8", "2.6", "4.0", "1.2", "Iris-versicolor" },
124                            { "5.0", "2.3", "3.3", "1.0", "Iris-versicolor" },
125                            { "5.6", "2.7", "4.2", "1.3", "Iris-versicolor" },
126                            { "5.7", "3.0", "4.2", "1.2", "Iris-versicolor" },
127                            { "5.7", "2.9", "4.2", "1.3", "Iris-versicolor" },
128                            { "6.2", "2.9", "4.3", "1.3", "Iris-versicolor" },
129                            { "5.1", "2.5", "3.0", "1.1", "Iris-versicolor" },
130                            { "5.7", "2.8", "4.1", "1.3", "Iris-versicolor" },
131                            { "6.3", "3.3", "6.0", "2.5", "Iris-virginica" },
132                            { "5.8", "2.7", "5.1", "1.9", "Iris-virginica" },
133                            { "7.1", "3.0", "5.9", "2.1", "Iris-virginica" },
134                            { "6.3", "2.9", "5.6", "1.8", "Iris-virginica" },
135                            { "6.5", "3.0", "5.8", "2.2", "Iris-virginica" },
136                            { "7.6", "3.0", "6.6", "2.1", "Iris-virginica" },
137                            { "4.9", "2.5", "4.5", "1.7", "Iris-virginica" },
138                            { "7.3", "2.9", "6.3", "1.8", "Iris-virginica" },
139                            { "6.7", "2.5", "5.8", "1.8", "Iris-virginica" },
140                            { "7.2", "3.6", "6.1", "2.5", "Iris-virginica" },
141                            { "6.5", "3.2", "5.1", "2.0", "Iris-virginica" },
142                            { "6.4", "2.7", "5.3", "1.9", "Iris-virginica" },
143                            { "6.8", "3.0", "5.5", "2.1", "Iris-virginica" },
144                            { "5.7", "2.5", "5.0", "2.0", "Iris-virginica" },
145                            { "5.8", "2.8", "5.1", "2.4", "Iris-virginica" },
146                            { "6.4", "3.2", "5.3", "2.3", "Iris-virginica" },
147                            { "6.5", "3.0", "5.5", "1.8", "Iris-virginica" },
148                            { "7.7", "3.8", "6.7", "2.2", "Iris-virginica" },
149                            { "7.7", "2.6", "6.9", "2.3", "Iris-virginica" },
150                            { "6.0", "2.2", "5.0", "1.5", "Iris-virginica" },
151                            { "6.9", "3.2", "5.7", "2.3", "Iris-virginica" },
152                            { "5.6", "2.8", "4.9", "2.0", "Iris-virginica" },
153                            { "7.7", "2.8", "6.7", "2.0", "Iris-virginica" },
154                            { "6.3", "2.7", "4.9", "1.8", "Iris-virginica" },
155                            { "6.7", "3.3", "5.7", "2.1", "Iris-virginica" },
156                            { "7.2", "3.2", "6.0", "1.8", "Iris-virginica" },
157                            { "6.2", "2.8", "4.8", "1.8", "Iris-virginica" },
158                            { "6.1", "3.0", "4.9", "1.8", "Iris-virginica" },
159                            { "6.4", "2.8", "5.6", "2.1", "Iris-virginica" },
160                            { "7.2", "3.0", "5.8", "1.6", "Iris-virginica" },
161                            { "7.4", "2.8", "6.1", "1.9", "Iris-virginica" },
162                            { "7.9", "3.8", "6.4", "2.0", "Iris-virginica" },
163                            { "6.4", "2.8", "5.6", "2.2", "Iris-virginica" },
164                            { "6.3", "2.8", "5.1", "1.5", "Iris-virginica" },
165                            { "6.1", "2.6", "5.6", "1.4", "Iris-virginica" },
166                            { "7.7", "3.0", "6.1", "2.3", "Iris-virginica" },
167                            { "6.3", "3.4", "5.6", "2.4", "Iris-virginica" },
168                            { "6.4", "3.1", "5.5", "1.8", "Iris-virginica" },
169                            { "6.0", "3.0", "4.8", "1.8", "Iris-virginica" },
170                            { "6.9", "3.1", "5.4", "2.1", "Iris-virginica" },
171                            { "6.7", "3.1", "5.6", "2.4", "Iris-virginica" },
172                            { "6.9", "3.1", "5.1", "2.3", "Iris-virginica" },
173                            { "5.8", "2.7", "5.1", "1.9", "Iris-virginica" },
174                            { "6.8", "3.2", "5.9", "2.3", "Iris-virginica" },
175                            { "6.7", "3.3", "5.7", "2.5", "Iris-virginica" },
176                            { "6.7", "3.0", "5.2", "2.3", "Iris-virginica" },
177                            { "6.3", "2.5", "5.0", "1.9", "Iris-virginica" },
178                            { "6.5", "3.0", "5.2", "2.0", "Iris-virginica" },
179                            { "6.2", "3.4", "5.4", "2.3", "Iris-virginica" },
180                            { "5.9", "3.0", "5.1", "1.8", "Iris-virginica" } };
181    
182            public IrisMatrix() {
183                    setLabel("Iris flower data set");
184                    setColumnLabel(0, "Sepal Length");
185                    setColumnLabel(1, "Sepal Width");
186                    setColumnLabel(2, "Petal Length");
187                    setColumnLabel(3, "Petal Width");
188                    setColumnLabel(4, "Species");
189            }
190    
191            public String getString(long row, long column) {
192                    return data[(int) row][(int) column];
193            }
194    
195            public void setString(String value, long row, long column) {
196            }
197    
198            public long[] getSize() {
199                    return new long[] { data.length, data[0].length };
200            }
201    
202    }