WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Datentyp von Categorical auf double ändern in einem table

 

biechlg
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 06.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2018, 16:52     Titel: Datentyp von Categorical auf double ändern in einem table
  Antworten mit Zitat      
Hallo!

Ich habe für ein Projekt an meiner Universität die Aufgabe einen Datensatz genauer zu untersuchen.
Nun habe ich diesen Datensatz in einem Table-Format, und möchte NaN Einträge ausbessern. NaN wurde nämlich immer eingetragen wenn sich zum vorherigen Messpunkt keine Änderung ergab.
Ich habe folgenden Code verwendet.
Code:

function A = umschreiben(B)
% finde die Grösse von Table B
[m,n]=size(B);
A=zeros(m,n);
%Prüfe welche einträge nachgetragen werden müssen
C = isnan(B);
%durchläuft einmal die Matrix
    for i =1:m
        for j=1:n
            if C(i,j)== 1
                %tritt NaN auf so wird dieses Feld überschrieben mit dem
                %Darüberliegenden Wert.
                B(i,j)=B(i-1,j);
            else
                %ist ein EIntrag im Feld so bleibt er erhalten
                %nochmalige zuweisung B=B ist nicht zwingend nötig
                B(i,j)=B(i,j);
            end
        end
    end
    A=B;
end


da isnan() nicht mit Daten vom Typ table funktioniert wollte ich B.Variables benutzen, dies führt jedoch zu folgender Fehlermeldung:
Unable to concatenate a double array and a categorical array

Wie kann ich nun die Categorigal typen in double ändern um .Variables einsetzen zu können.

Vielen Dank für die Hilfe
Mit freundlichen Grüssen
Georg

P.S: die Kolonnen für Part und Tool ID's sind als categorical aufgeführt, sind aber 12 bzw 7-stellige ziffernfolgen, und NaN einträge
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 06.08.2018, 18:52     Titel: Re: Datentyp von Categorical auf double ändern in einem tab
  Antworten mit Zitat      
Hallo biechlg,

Wie wäre der fillmissing Befehl mit der Methode 'previous'?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
biechlg
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 06.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2018, 19:02     Titel:
  Antworten mit Zitat      
fill missing funktioniert bei allen Spalten, die schon als double aufgeführt sind! die categorical erkennen aber das NaN nicht als "missing number" und werden wie ein character nicht verändert, das heisst meine toolID Spalte schaut immernoch wie folgt aus

toolID

xxxxxxx
NaN
NaN
NaN
yyyyyyy
NaN
NaN

Danke für die Antwort, denn ich habe fillmissing noch nicht probiert!

Dennoch denke ich dass ich der Tabelle klar machen muss, dass die NaN in den categorical Spalten als "not a number" zu interpretieren sind um mein Problem zu lösen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.497
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.08.2018, 22:54     Titel:
  Antworten mit Zitat      
Hallo,

removecats könnte helfen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 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.