Seite 1 von 1

Beobachtungen in Intervall

Verfasst: Di Jun 09, 2020 9:21 am
von bilanzpolitik
Guten Morgen zusammen,

ich würde gerne die Anzahl der Beobachtungen in einem Intervall bestimmen. Mein Ansatz ist die Funktion count im Paket dplyr:

count(daten, X > -0.008) zeigt mir die Anzahl der Werte von X, die größer als 0,008 sind.

Wie schaffe ich es jedoch beispielsweise die Anzahl der Werte anzuzeigen, die im Intervall zwischen -0,008 und 0 liegen?
Könnt ihr mir da weiterhelfen?

Liebe Grüße

Re: Beobachtungen in Intervall

Verfasst: Di Jun 09, 2020 9:27 am
von jogo
Hallo Bilanzpolitik,

willkommen im Forum!
bilanzpolitik hat geschrieben: Di Jun 09, 2020 9:21 am count(daten, X > -0.008) zeigt mir die Anzahl der Werte von X, die größer als 0,008 sind.
Das halte ich für ein Gerücht. Es wäre schlimm, wenn es so wäre.
Gruß, Jörg

Re: Beobachtungen in Intervall

Verfasst: Di Jun 09, 2020 9:33 am
von bilanzpolitik
Danke für Deine Antwort!

Ich kann Dir leider nicht ganz folgen. Wenn ich es mit Excel überprüfe, stimmt die Anzahl der Werte von X, die R mir ausgibt.

Re: Beobachtungen in Intervall

Verfasst: Di Jun 09, 2020 9:46 am
von jogo
X > -0.008 liefert TRUE für alle Werte, die größer als -0,008 sind, das sind natürlich erst recht alle Werte, die größer als 0,008 sind, aber auch z.B. für -0,001
Wie schaffe ich es jedoch beispielsweise die Anzahl der Werte anzuzeigen, die im Intervall zwischen -0,008 und 0 liegen?

Code: Alles auswählen

count(daten, X > -0.008 & X<0)

Gruß, Jörg

Re: Beobachtungen in Intervall

Verfasst: Di Jun 09, 2020 9:50 am
von bigben
Die Antwort auf die Kernfrage ist die logische UND-Verknüpfung, in R dargestellt durch den &-Operator.

Code: Alles auswählen

> TRUE & TRUE
[1] TRUE
> TRUE & FALSE
[1] FALSE
> FALSE & FALSE 
[1] FALSE
Habe auf diesem Rechner gerade kein dplyr installiert, aber das wird das gleiche sein:

Code: Alles auswählen

daten <- data.frame(X = rnorm(30))

sum(daten > -.8 & daten < 0)
Wenn es nicht nur das eine, sondern mehrere solcher Intervalle gibt, die es zu untersuchen gilt, dann lohnt sich ein Blick auf die Funktionen cut und table:

Code: Alles auswählen

daten <- data.frame(x = rnorm(30))

daten$intervall <- cut(daten$x, breaks = c(-Inf, -.8, 0, .8, Inf),
                       labels = c("sehr klein", "klein", "groß", "sehr groß"))

table(daten$intervall)
LG,
Bernhard

Re: Beobachtungen in Intervall

Verfasst: Di Jun 09, 2020 10:06 am
von bilanzpolitik
Danke Euch, Problem gelöst!

Schönen Tag euch noch!