So erstellen Sie eine matrix von Listen im R?

Was ich haben will ist ein matrix, in dem jeder element ist ein Liste selbst.
Siehe dazu das folgende Beispiel:

1       2       3
1  1,2,4  1,2      1
2  Null   3,4,5,6  1,3  

Sah ich diese post, und habe Folgendes versucht, aber bekam eine Fehlermeldung :

 b <- array()
 b[j, i, ] <- A[i]

wobei A ein Vektor selbst.
Der Fehler war:

 Error in b[j, i, ] <- A[i] : incorrect number of subscripts

Wie soll ich das definieren und den Zugriff auf die einzelnen element der matrix, und jedes element des enthaltenen Listen?

Update1 :

b<-matrix(list(),nrow = length(d), ncol =length(c))

Error in b[j, i] <- A[i] : replacement has length zero

Möchte ich angeben, dass jedes element einer Liste und dann versuchen Sie, füllen Sie es mit verschiedenen Liste mit unterschiedlicher Länge von null bis n.

Update2 :

 running what @BondedDust commented :
 b<-matrix(rep(list(),(c*d)),,nrow = length(d), ncol =length(c))
 Erorr in b[[j*nrow(b)+i]] <- A[i] : attempt to select less than one element

Eine :

A[1]<-c(3)     F[[1]]<-numeric(0)   E[[1]]<-numeric(0)
A[2]<-c(1)     F[2]<-c(1)           E[2]<-c(1)
A[3]<-c(1)     F[3]<-c(2)           E[[3]]<-numeric(0)
A[[4]]<-c(1,3) F[[4]]<-numeric(0)   E[[4]]<-numeric(0)
A[5]<-c(4)     F[5]<-c(4)           E[5]<-c(4)

A :Werte von Zeile 1 , F:Zeile 2 und E :Zeile 3. ( 5 Spalte )

diese Daten nicht in dieser form und nicht gespeichert wird, wo jeder,werden Sie die Ausgabe der Funktion (dort ist die Funktion an der Stelle von A[i]).die Daten zeigen, welche Dosis A Aussehen mag reproduzierbar und daher zeigt die position in der matrix und gibt zurück die error im update2.A[4] ist das element der Spalte 4 Zeile 2.

  • nicht matrix(list(c(1,2,3))) was er braucht?
  • Es ist nicht unmöglich, Listen-Elementen in den Matrizen.
  • Die Dokumentation für matrix nicht sagen, dass nur Atomare Vektoren können angegeben werden, die als Argumente an die parameter. Es sagt nur, dass as.vector werden die Attribute entfernen. (Die Streifen Termine, POSIXct und Faktor Argumente Ihren Klassen.) Wenn Sie sind nur Listen (die sind nach alle eine andere form des "R Vektoren"), dann gibt es keine Gewalt auf die Daten.
  • Zum Bearbeiten. Einstellung ein Objekt als ein leeres array ist nicht erlaubt, Sie zu haben dynamische array-Dimensionierung. Das kann eine Funktion von arrays in anderen Sprachen, aber NICHT in R.
  • Die Aufgabe, die leichter gewesen wäre, wenn Sie tatsächlich getestet, der code. Siehe mein edit. (Es ist nicht möglich E[1] <- numeric(0). Müssen "[[" und die c() ist überflüssig.
  • Außerdem, wie ich bereits erklärt habe, werden die R-Matrizen indexiert werden, in column - major-order. Ich nehme an, Sie können verwenden Sie immer die t() Funktion ist, wenn die absolution braucht, um zu sein, wie du Sie beschrieben hast.
  • für die Prüfung nicht es. Ich erstelle Liste der Liste der Liste meiner selbst für diese Aufgabe, aber ich bevorzuge den vorgegebenen matrix zu vermeiden, erstellen einer Liste durch hinzufügen von Zeilen und eine Allgemeine form , die Daten, die darin enthalten war ein Daten reproduzieren das update2 Fehler.(Ich inbegriffen, weitere Erklärungen und die Fehler zu korrigieren) aber vielen Dank für alle Ihre Hilfe.die gewünschte Antwort wäre Ihr Kommentar(update2) (Definition von Zeilen und Spalten oder in der genaue format, das Sie erklärt), ohne den Fehler.

Schreibe einen Kommentar