2010-08-05 4 views
0

J'ai un fichier texte de 10001 lignes, où la première ligne contient le nom des attributs et les lignes suivantes contiennent des valeurs. Les types d'attributs sont mélangés (chaînes et flottants) et délimités par '\ t'.meilleur moyen d'importer un ensemble de données dans matlab et d'organiser les données dans la structure appropriée

Est-ce que quelqu'un sait quelle est la meilleure façon d'importer un tel fichier texte dans matlab et d'organiser ces données dans la structure appropriée pour une analyse plus approfondie?

Je voudrais utiliser ces données pour certaines applications d'exploration de données de sorte qu'il serait très utile que chaque colonne peut contenir des métadonnées ainsi (type de variable, la valeur numérique/catégorique ...)

Merci pour les suggestions!

+0

Est-ce à peu près la même chose? http://stackoverflow.com/questions/3414581/matlab-how-to-file-file-using-textscan – yuk

+0

@yuk: non, il s'agit de stocker des données après qu'elles ont été lues. C'est l'étape 2, l'autre poste était l'étape 1. – Mikhail

Répondre

2

Comment les colonnes sont indexées, par nom ou par indice entier?

Pour le premier cas, la meilleure approche serait d'utiliser un tableau struct. Un élément de tableau pour chaque ligne dans les données d'origine. Il y a deux questions à répondre:

  1. Comment les champs seront nommés? Connaissez-vous l'en-tête à l'avance? Toutes les chaînes d'en-tête sont-elles des noms de variables MATLAB valides et peuvent-elles être utilisées comme noms de champs? La fonction genvarname pourrait aider dans certains scénarios. Comment transformer une matrice de données en sortie de textscan en un tableau de structure? Regardez la fonction cell2struct dans l'aide de MATLAB. Si vos noms de champs (en-tête) sont alors vraiment dynamique, vous pouvez toujours utiliser cell2struct en créant la cellule d'argument dynamique puis d'appeler cell2struct(args{:})

Si des colonnes sont indexées numériquement puis rester avec matrice cellulaire en sortie de textscan.

Pour les métadonnées, j'utiliserais une autre variable en tant que struct ou struct-array.

Questions connexes