Seite 1 von 1

Anzahl an Datensätzen berechnen

Verfasst: Di Mär 20, 2018 9:01 am
von baroso
hallo,
ich stehe mal wieder auf dem Schlauch.
ich möchte einfach nur die Anzahl an Datensätzen für bestimmte Aggregation bestimmen.
das folgende Beispiel zeigt wie ich zunächst den Mittelwert bestimme, mit der Funktion "mean", das klappt wunderbar.
Aber wie bestimme ich die Anzahl?

Code: Alles auswählen

###Mittelwert berechnen:
dat1=aggregate(dat[,c(11)], list(ag1=dat$a1, ag2=dat$a2,ag3=dat$a3), mean, na.rm=T)
names(dat2)=c("ag1","ag2","ag3","mean")

###Anzahl berechnen:
dat3=aggregate(dat[,c(4)], list(ag1=dat$a1, ag2=dat$a2,ag3=dat$a3), ????????, na.rm=T) ####Welche Funktion kommt hier rein? count.list, nrow???
names(dat3)=c("ag1","ag2","ag3","number")
gibt es zur Berchnung der Anzahl in aggregate eine Funktion?
Danke.

Re: Anzahl an Datensätzen berechnen

Verfasst: Di Mär 20, 2018 9:12 am
von jogo

Code: Alles auswählen

aggregate(..., FUN=length, ...)
Hierbei werden aber die NAs mitgezählt.
Wenn man dies nicht möchte, dann vielleicht so:

Code: Alles auswählen

ggregate(!is.na(dat[, 4]), list(ag1=dat$a1, ag2=dat$a2,ag3=dat$a3), FUN=sum)
... schade, dass Du nicht generell mit Spaltennamen arbeitest - es hätte so aussehen können:

Code: Alles auswählen

aggregate(!is.na(Spalte4) ~ a1 + a2 + a3, data=dat, FUN=sum)
Gruß, Jörg