Gibt es eine Möglichkeit, die Auswahl von Spalten (mit Wiederholung) aus einer Matrix zu vektorisieren?

user5054

Ich habe eine Matrix L der Größe n x kund einen Vektor Z der Größe p. Z besteht aus ganzen Zahlen, die die Spaltenindizes von L darstellen. Ich möchte eine Matrix X der Größe erstellen, n x pdie die Aggregation der entsprechenden Spalten von L darstellt, die basierend auf den Werten in Z ausgewählt wurden.

Z = c(1, 3, 1, 2)
L = matrix(c(73,50,4,14,87,5,34,51,17,57,47,65),nrow=4)
> L
     [,1] [,2] [,3]
[1,]   73   87   17
[2,]   50    5   57
[3,]    4   34   47
[4,]   14   51   65

Ich möchte, dass X ist

> X
     [,1] [,2] [,3] [,4]
[1,]   73   17   73   87
[2,]   50   57   50    5
[3,]    4   47    4   34
[4,]   14   65   14   51

In meinen Originaldaten psind kund nziemlich groß (30K, 500 bzw. 2K), und eine Schleife über alle Z-Werte zum Auswählen und Kombinieren der Spalten aus L dauert sehr lange. Kann es einen vektorisierten Weg (keine Schleifen) geben, um diese Aufgabe zu erledigen?

die E-Mail

Ziemlich sicher, dass dies nur ist:

L[,Z]
#     [,1] [,2] [,3] [,4]
#[1,]   73   17   73   87
#[2,]   50   57   50    5
#[3,]    4   47    4   34
#[4,]   14   65   14   51

R ist es egal, ob Sie wiederholte Spaltenindizes haben, wenn Sie aus den meisten Objekten auswählen.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

  1. 1

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

  2. 2

    Wie füge ich mehrere Spalten in einer Spalte mit derselben Tabelle in SQL Server zusammen?

  3. 3

    Popup-Fenster oder mehrere Fenster mit PyQt5 / QtDesigner

  4. 4

    Gibt es eine sauberere Möglichkeit, Konstruktorargumente und Instanzeigenschaften einer Klasse in Typescript zu definieren?

  5. 5

    django-allauth Empfängersignal zum Hinzufügen einer Gruppenberechtigung zum Benutzer bei der Anmeldung

  6. 6

    Wie kann man Gitterquadrate dazu bringen, die Farbe zu ändern?

  7. 7

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  8. 8

    Scherz, wie man eine Funktion verspottet, die von einer verspotteten Funktion zurückgegeben wird

  9. 9

    Wählen Sie Geschwister vor einem Element aus

  10. 10

    Ändern Sie den Knotenpfad in das aktuelle Verzeichnis

  11. 11

    Ich kann nicht verstehen, wie man Go-Code in mehreren Dateien kompiliert

  12. 12

    Zählen Sie die Vorkommen jedes Werts in einem Tupel in Python

  13. 13

    Javascript wird nach dem AJAX-Aufruf nicht aktiviert, es sei denn, die Seite wurde aktualisiert

  14. 14

    Laden Sie das Bild perfekt in HTML Canvas

  15. 15

    CBCentralManager wird nach dem Verbinden neu gestartet

  16. 16

    So implementieren Sie Pushwoosh mit ionic 2

  17. 17

    Wie schiebe ich mein neues Element, ohne ein neues Mongoose-Element zu erstellen?

  18. 18

    Wie wird der Wert im Dropdown-Menü basierend auf den ausgewählten Daten / IDs angezeigt?

  19. 19

    Wie suche ich eine Zeichenfolge nach mehreren Zeichenfolgen und ersetze sie dann durch andere Zeichenfolgen? (Python)

  20. 20

    base js: Wie füge ich einem Objekt eine Eigenschaft auf die 'alte' Weise hinzu?

  21. 21

    Wie führe ich Junit-Tests über die Befehlszeile unter Windows ohne Paket aus?

heißlabel

Archiv