Ich möchte eine Sub-Matrix x7992
basierend auf Bedingungen von bestimmten Spalten der ursprünglichen data
Matrix auswählen. Insbesondere ist die ursprüngliche Matrix 23166-by-9, einen ursprünglichen Code Gauss folgenExtrahieren Sub-Matrix basierend auf Bedingungen bestimmter Spalten in Matlab
x7992 =selif(data,data[.,col_coh].==0 .and data[.,col_year].<=1992);
I dies in Matlab Umschreiben mit
x7992 = data(data(:,col_coh)==0 & data(:,col_year)<=1992);
col_coh,col_year
sind vordefinierte Spaltennummer.
Aber anstatt mir eine Untermatrix zu geben, gibt mir die obige Codezeile nur eine einzige Zeile (23166-by-1), es ist nicht das, was ich will (und nicht das wirkliche Ergebnis auf dieser Bedingung) .So, wie man es repariert? Danke.
--- ----- Update-
Die data
Matrix ist wie (I andere Spalten auslassen, weil nur die ersten 3 Spalten relevant Auswahl sind), die erste Spalte ID für Einzelpersonen
1 1979 0
1 1980 0
1 1981 1
1 1982 0
1 1983 1
2 1990 0
2 1991 0
2 1992 0
2 1993 1
3 1985 0
3 1986 0
3 1987 0
ist
Basierend auf den Bedingungen, was ich will, ist eine Submatrix aus Daten, die die Zeilen mit Wert> 1992 in der zweiten Spalte und Wert = 1 in der dritten Spalte ausschließt
ein Beispiel 'Gib data' Matrix und die erwartete Ausgabe –
Hallo, @ Sardar_Usama, füge ich noch einige weitere Details meiner Daten – zlqs1985