Ich habe eine Zuweisung mit R und habe ein kleines Problem. In der Zuweisung müssen mehrere Matrizen mit einer zufälligen Anzahl von Zeilen erzeugt und später für verschiedene Berechnungen verwendet werden. Alles funktioniert perfekt, es sei denn, die Anzahl der Zeilen ist 1.
In den Berechnungen verwende ich nrow (matrix) auf verschiedene Arten, zum Beispiel if (i <= nrow(matrix) ) {action}
und auch Aussagen wie matrix[,4]
und so weiter.
Wenn also die Anzahl der Zeilen 1 ist (ich weiß, dass es tatsächlich ein Vektor ist), gebe R Fehler, definitiv weil nrow (1-dimensionale Matrix) = NULL. Gibt es einen einfachen Weg, damit umzugehen? Ansonsten muss wohl der ganze Code neu geschrieben werden, aber ich bin sehr kurz in der Zeit: (
Es ist nicht so, dass einreihige / col-Matrizen in R Damit können Sie Ihr Ziel erreichen, indem Sie entweder ODER indem verhindert wird, dass ncol
/ nrow
auf NULL
setzen - in R ist alles ein 1D-Vektor, der sich wie eine Matrix verhalten kann (dh als Matrix anzeigen, akzeptieren) Matrixindizierung usw.), wenn ein dim
-Attribut gesetzt ist. Es scheint anders, weil das einfache Indizieren einer Matrix auf eine einzelne Zeile oder Spalte % dim
-Attribut eines Vektors (z. B. x) direkt neu erstellen: dim
operator []
durch Hinzufügen von dim
Argument:
Tags und Links r statistics