Warum ist diese Matrix nicht numerisch? Dann zerstört as.numeric die Matrix und gibt einen Vektor @ zurüc
Ich habe einen Datenrahmen mit dem Nameninput
. Die erste Spalte bezieht sich auf eine Artikel-ID ArtID
) werden die nachfolgenden Spalten verwendet, um die Matrix zu erstellen.
Basierend aufArtID
, Ich möchte, dass R eine 2x2-Matrix erzeugt (genauer:Es muss eine numerische 2x2 Matrix sein). Insbesondere möchte ich eine Matrix für die erste Zeile erstellen ArtID == 1
), die zweite Reihe ArtID == 2
) und so weiter..
Was mir bisher eingefallen ist:
for(i in 1:3) {stored.matrix = matrix(input[which(ArtID ==i),-1],nrow = 2)
Dies gibt mir eine 2x2 Matrix, aber es ist nicht numerisch (was es sein muss).
Wenn ich mich bewerbeas.numeric
, die Matrix ist keine 2x2-Matrix mehr.
Wie bekomme ich eine numerische 2x2-Matrix?
Minimal reproduzierbares Beispiel:
ArtID = c(1,2,3)
AC_AC = c(1,1,1)
MKT_AC = c(0.5,0.6,0.2)
AC_MKT = c(0.5,0.6,0.2)
MKT_MKT = c(1,1,1)
input = data.frame(ArtID, AC_AC, MKT_AC, AC_MKT, MKT_MKT)
stored.matrix = matrix(input[which(ArtID ==i),-1],nrow = 2)
# [,1] [,2]
#[1,] 1 0.5
#[2,] 0.5 1
is.numeric(stored.matrix)
# [1] FALSE
as.numeric(stored.matrix)
## [1] 1.0 0.5 0.5 1.0
Wie Sie nach der Bewerbung sehen könnenas.numeric()
Die Matrix ist nicht mehr 2x2.
Kann jemand helfen