colSums(x) bekommt als Parameter eine Matrix oder einen data.frame und liefert einen Vektor mit den Summe je Spalte zurück.

Als zweiten Parameter kann noch das Flag na.rm=TRUE gesetzt werden, damit NAs ignoriert werden. Falls der Parameter nicht gesetzt wurde, ist der Eintrag im Rückgabe-Vektor NA, falls ein NA in der Spalte auftaucht.

Code-Beispiel

#Datensatz erzeugen
#Datensatz erzeugen
set.seed(1)
n = 1000
df = data.frame(ID=1:n,x=rnorm(n),y=rnorm(n,1,0),z=runif(n))
 
# Mittelwerte für die Spalten x, y und z berechnen
colSums(df[,-1])
#       x            y         z 
#-11.64814  1000.00000  489.69716 
 
# einen Wert auf NA setzen
df$x[n/2]=NA
# dann liefert colMeans ebenfalls NA
colSums(df[,-1])
# x           y          z 
#NA  1000.00000  489.69716 
# Um das zu vermeiden, setzen wir den Parameter na.rm auf TRUE
colSums(df[,-1],na.rm=TRUE)
#        x           y          z 
#-10.77488  1000.00000  489.69716 
 
#gleiche Funktion mittels sapply
sapply(df[,-1],FUN=sum,na.rm=TRUE)

Siehe auch

rowSums, colMeans, rowMeans