Datentyp „Ganzzahl“ im Vergleich zum Datentyp „Zahl“.Ich habe eine Spaltenmatrix namens „a“ mit x Zeilen. Ich versuche, eine mit Einsen gefüllte Matrix zu erstellen, die die gleiche Anzahl x Zeilen hat.
Wenn ich newmat = [](N Rows(a), 2) sage, erhalte ich beim Versuch, die Matrix zu erstellen, die Fehlermeldung „Erwartete Ganzzahl für Anzahl der Zeilen“.
Type(3) und jedes andere ganzzahlige Argument geben „Integer“ zurück, Type(N Rows(a)) gibt jedoch „Number“ zurück. Ich habe versucht, die x Zeilen auf einen Variablennamen zu setzen und das zu versuchen, aber ich erhalte die gleiche Fehlermeldung. Gibt es eine andere Möglichkeit, dies zu tun? Ich habe auf den Boards oder in der Dokumentation keine Möglichkeit gefunden, einen Zahlentyp in einen Ganzzahltyp umzuwandeln.
Betreff: Datentyp „Ganzzahl“ vs. Datentyp „Zahl“.Hallo @pen51 ,
@uday_guntupalli Richtig ist, dass J() dafür genau die richtige Funktion ist.Der Grund, warum JMP Sie anschreit, ist, dass bestimmte JMP-Funktionen Variablennamen nicht gerne als Argumente annehmen.Bei Bedarf können Sie diese Art von Problemen mit einer Eval-Parse-Eval-Einfügesequenz wie folgt lösen:
eval(parse(eval insert("newmat = [](^N Rows(a)^, 2)")));Bitte verwenden Sie die Lösung von Uday, aber dieser Tipp kann Ihnen später helfen, wenn Sie auf eine ähnliche Situation stoßen.
Betreff: Datentyp „Ganzzahl“ vs. Datentyp „Zahl“.Hier sind einige Möglichkeiten, die gesuchte Matrix zu erstellen
clear symbols();
a=[1 ,2 ,3];
b=j(n rows(a),1,1)
// or
b=a;
b[1::n rows(a)]=1;
Betreff: Datentyp „Ganzzahl“ vs. Datentyp „Zahl“.@pen51
a = Random Index(100,10);
NewMat = J(N Rows(a),1,1); // Use the J() to do this
Das obige Beispiel hat bei mir funktioniert