|
|
Probleme Einlesen und Auswertung von CSV-Dateien, Cell-Array |
|
Kahof |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 29.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.11.2013, 17:45
Titel: Probleme Einlesen und Auswertung von CSV-Dateien, Cell-Array
|
|
|
|
|
Hallo Leute,
ich arbeite mit Nemo2002 in einer Seminar-Gruppe und habe eine Frage zur Umwandlung bzw. zur richtigen Arbeit mit verschiedenen Datentypen.
Hauptteil unserer Gruppenarbeit, wie Nemo2002 erklärt hat, ist die eigentliche Datenanalyse, z.B. Clusterung und statistische/ ökonometrische Auswertung. Wir sind VWLer und uns fehlt eindeutig das nötige Vorwissen in Sachen Programmierung. Das ist voll frustrierend, weil wir zur eigentlichen Datenanalyse garnicht kommen - wir haben immer noch Probleme mit dem richtigen Einlesen und Formatieren der train.csv .
[Code und train.csv sind im Anhang, s.u. .]
Ziel ist es herauszufinden (z.B. per Regression), wie die drei Zielvariablen "num_votes" (Spalte 6), "num_comments" (Sp. 7) und "num_views" (Sp. von anderen Variablen z.B. "Source" (Sp. 9) beeinflusst werden. Dabei stehen z.B. in Sp. 9 bei "Source" strings drin und insgesamt sind die als Typ "cell" in t gespeichert. Der Datentyp "cell" kann anscheinend nur in "nominal" oder "double" umgewandelt werden.
Meine Fragen sind:
(i) Wie kann ich z.B. jedem Eintrag in "Source" einen eindeutigen Zahlenwert zuweisen um somit in die eigentliche Datenanalyse überzugehen?
-"@numel" geht nicht, weil verschiedene Einträge dennoch die gleiche Anzahl an characters haben können ->keine Eindeutigkeit
-erst in "nominal" und danach in "double" umwandeln ist auch nicht eindeutig - hier haben verschiedene strings ab und an dennoch den gleichen double-wert
(ii)Wie kann ich ein cell-Array (hier in Variable t gespeichert) vernünftig in ein datasetarray umwandeln? Oder wie kann ich überhaupt mit dem Datentyp "cell" vernünftig umgehen?
->siehe code: "ds= cell2dataset..." funzt nicht, weil in t keine Variablennamen in der 1.Zeile gespeichert sind. Kann ich "readvarnames" und "readobsnames" auf !false! setzen oder soll ist cell2dataset ganz und gar ungünstig?
Ich danke euch für alle helfenden und anregenden Kommentare!
Grüße
close all;
fid = fopen('train.csv');
s = textscan(fid, '%s', 'delimiter', '', 'headerlines', 1);
s = s{1}(1:100); %oder: s = s{1} (1:end);
close(fid);
%% Format the data for readability and workflow for data analysis
s = cellfun(@(s) [s, ','], s, 'UniformOutput', false);
t = regexp(s, '"([^"]*)",', 'tokens');
t = vertcat(t{:});
t = cellfun(@(t) t, t); % t is of type "cell"
%% Define column vectors and whole formated data matrice
%ds = cell2dataset(t(:,2:end)); % doesn't work!
id = str2double(t(:,1)); % in the following--> vectors of: id, latitude, longitude, ...
latitude = str2double(t(:,2));
longitude = str2double(t(:,3));
summary = nominal(t(:,4));
summary = double(summary);
description = nominal(t(:,5));
description = double(description);
num_votes = str2double(t(:,6));
num_comments = str2double(t(:,7));
num_views = str2double(t(:,);
source = nominal(t(:,9));
source = double(source);
created_time = datenum(t(:,10),'yyyy-mm-dd HH:MM:SS');
tag_type = nominal(t(:,11));
tag_type = double(tag_type);
data_mat = [id,latitude,longitude,summary, description, num_votes, num_comments,num_views, source, created_time, tag_type];
% take columnvectors and create matrice "data_mat"
%clear t
Beschreibung: |
Das ist die train.xls mit nur 100 Zeilen x 11 Spalten. (Die original train.csv hat +233000 Zeilen) |
|
Download |
Dateiname: |
train.xls |
Dateigröße: |
24.54 KB |
Heruntergeladen: |
842 mal |
|
|
|
|
|
Kahof |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 29.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.11.2013, 17:48
Titel:
|
|
es soll natürlich heissen:
num_views = str2double(t(:, );
p.s. Kann man "Source" anstatt von "cell" in "nominal" oder "double" auch in einen float oder real oder einen anderen Datentyp umwandeln?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.11.2013, 18:02
Titel:
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|