In R, I eine Matrix mit matrix()
erstellen kann, die die Funktionsdefinition hat:Default-Matrix Anzahl der Spalten und Zeilen in R
function (data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
{ ... }
Dies legt nahe, dass der Standardwert für die Anzahl der Zeilen (nrow
) und Spalten (ncol
) sind 1.
Also warum bricht das folgende? Warum führt die Angabe der gleichen Standardwerte 1
zu einer anderen Matrix?
> matrix(1:9)
[,1]
[1,] 1
[2,] 2
[3,] 3
[4,] 4
[5,] 5
[6,] 6
[7,] 7
[8,] 8
[9,] 9
> matrix(1:9, ncol=1, nrow=1)
[,1]
[1,] 1
In gewissem Sinne; Ich bin mir nicht sicher, ob "überschreiben" der am besten geeignete Begriff wäre, aber im Wesentlichen sind Standardwerte und "fehlende-Ness" orthogonale Eigenschaften der Argumente. Aus diesem Grund weiß die interne Funktion, ob jedes dieser beiden Argumente tatsächlich angegeben wurde oder nicht, und kann zwischen den beiden Szenarien von ** (A) ** "ncol = 1, nrow = 1" & nicht benutzerdefiniert und unterscheiden ** (B) ** "ncol = 1, nrow = 1" & benutzerdefiniert; auch wenn die 'ncol, nrow' Werte gleich sind. – nrussell
Versehentlich gelöscht mein vorheriger Kommentar. Danke für die Hilfe! – Megatron