Mettre le contenu d'un csv dans une matrice

cs_Narrow Messages postés 1 Date d'inscription lundi 8 mars 2010 Statut Membre Dernière intervention 8 mars 2010 - 8 mars 2010 à 18:54
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 - 9 mars 2010 à 12:18
Bonjour à Tous!

J'ai un problème: je dois faire une analyse en composante principale sur un jeu de données dans un tableau exel .csv. Pour ça, il faut que j'utilise javastat PCA qui me fait ça tout seul comme un grand à condition que je lui donne une matrice, autrement dit un tableau double[][]. Le problème c'est que opencsv ne connait que les list: je fait comment la transition entre les deux?
Pour l'instant j'en suis là:

package exo;
 
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
import java.lang.Object;
import au.com.bytecode.opencsv.CSVReader;
import javastat.multivariate.PCA;

public class Apply {
 
    public static void main(String[] args) throws IOException 
    {
        CSVReader reader = new CSVReader(new 
                FileReader("stockori/genotype.csv"));
        String [] nextLine;
        LinkedList<float[]> myTable= new LinkedList<float[]>();
        while ((nextLine = reader.readNext()) != null) 
        {
            // nextLine[] is an array of values from the line
            //System.out.println(nextLine[148]);
            for (int i=0; i<nextLine.length; i++)
            {
                myTable.addLast(Float.parseFloat(nextLine[i]));
            }
        }
        System.out.println(myTable.get(1));
    }
}
 


Mais je ne sais pas comment faire pour mettre tout dans une matrice double[][], Eclipse n'aime pas la ligne "myTable.addLast(Float.parseFloat(nextLine[i]));", il me dit que le methode addLast n'est pas applicable à l'argument float. Pourriez-vous m'aider s'il vous plait?

Narrow

1 réponse

cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 18
9 mars 2010 à 12:18
Salut,

Tu essayes d'ajouter un Float dans une liste qui contient des Float[].
C'est-à-dire que tu essayes d'ajouter un objet dans une liste qui doit contenir des tableaux d'objets.

Essayes pluôt :

myTable.addLast(new float[] {new Float(j).floatValue()});
0