Dies ist eine schwierige Frage, die man betiteln sollte. Die Daten sehen so aus:
%Vor%Ich möchte alle 5 Elemente summieren, da es also 15 gibt, sollte die Länge des zurückgegebenen Vektors 3 sein. (15/3). Zählen Sie zum Beispiel einfach die NAs als 0.
Wie mache ich das?
Ich möchte auch die NA's ignorieren
Dies ist ideal für ?rowsum
, was schnell sein sollte
Daten von RStudent verwenden
%Vor% Das zweite Argument, group
, definiert die Zeilen, auf die die Summe angewendet werden soll. Allgemeiner könnte das Gruppenargument rep(1:nrow(m), each=5, length=nrow(m))
(sub nrow
mit length
, wenn es über einen Vektor angewendet wird) definiert werden
Sie könnten tapply()
Eine weniger effiziente Option beinhaltet split()
mit vapply()
Verwenden von dplyr
Sie erhalten:
%Vor% Wenn Sie aus irgendeinem Grund NA
s durch 0 ersetzen möchten (weil Sie andere Operationen ausführen möchten als sum()
, sagen wir mean()
), können Sie Folgendes tun:
Sie erhalten das Ergebnis mit NA
s gleich 0 (anstatt NA
mit na.rm = TRUE
im vorherigen Vorschlag wegzulassen)