Wie liest man CSV-Dateien in Matlab wie in R?

8

Ich habe einen Datensatz, der als CSV-Datei gespeichert wird, die wie folgt aussieht:

%Vor%

In R könnte ich diese Datei folgendermaßen öffnen:

%Vor%

Gibt es in Matlab einen Standardbefehl, der .csv-Dateien mit numerischen und String-Variablen liest? csvread scheint nur numerische Variablen zu mögen.

Ein Schritt weiter, in R könnte ich die attach-Funktion verwenden, um Variablen zu erzeugen, die den Spalten- und Spaltenheadern des Datensatzes zugeordnet sind, d. h.

%Vor%

Gibt es in Matlab etwas Ähnliches?

    
Brian Tompsett - 汤莱恩 23.01.2013, 20:24
quelle

3 Antworten

6

Obwohl diese Frage fast ein exaktes Duplikat ist, ist die vorgeschlagene Lösung in dem von @NathanG bereitgestellten Link (dh mit xlsread ) nur eine Möglichkeit, Ihr Problem zu lösen. Der Autor im Link schlägt auch vor, textscan zu verwenden, gibt aber keine Informationen darüber, wie es gemacht wird, also dachte ich, ich würde hier ein Beispiel hinzufügen:

%Vor%

Header sollte jetzt ein Zeilenvektor von Zellen sein, wobei jede Zelle einen Header speichert. D ist ein Zeilenvektor von Zellen, wobei jede Zelle eine Datenspalte speichert.

Es ist mir nicht möglich, D an Header anzuhängen. Wenn Sie wollten, könnten Sie beide in die gleiche Struktur bringen, zB:

%Vor%     
Colin T Bowers 23.01.2013, 22:08
quelle
3

Matlabs neue Tabellenklasse macht das einfach:

%Vor%

Standardmäßig werden die Header analysiert und als Spaltennamen (auch als Variablennamen bezeichnet) verwendet:

%Vor%

Sie können eine Spalte mit ihrem Namen usw. auswählen:

%Vor%

Verfügbar seit Matlab 2013b. Siehe www.mathworks.com/help/matlab/ref/readtable.html

    
mjeppesen 12.02.2016 05:23
quelle
0

Ich mochte diesen Ansatz, der von Matlab 2012 unterstützt wird.

%Vor%

Natürlich können Sie auch Folgendes tun:

%Vor%     
Stanislav 29.03.2013 15:29
quelle

Tags und Links