Niedrigster Mittelwert von sieben aufeinanderfolgenden Werten

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Dodo
Beiträge: 8
Registriert: Fr Feb 15, 2019 8:00 pm

Niedrigster Mittelwert von sieben aufeinanderfolgenden Werten

Beitrag von Dodo »

Hallo R-Community,
Ich habe folgende Dataframe:

Code: Alles auswählen

     Datum Wert
1  01.01.1900  0.3
2  02.01.1900  2.6
3  03.01.1900  2.5
4  04.01.1900 10.9
5  05.01.1900  1.1
6  06.01.1900  4.7
7  07.01.1900  1.6
8  08.01.1900  0.0
9  09.01.1900  2.1
10 10.01.1900 11.4
11 11.01.1900  0.1
12 12.01.1900  0.5
13 13.01.1900  0.4
14 14.01.1900  5.1
15 15.01.1900  1.7
16 16.01.1900  0.2
17 17.01.1900  0.2
18 18.01.1900  2.7
19 19.01.1900 10.0
20 20.01.1900  3.6
21 21.01.1900  3.8
22 22.01.1900  8.9
23 23.01.1900  7.8
24 24.01.1900  1.4
25 25.01.1900  8.5
26 26.01.1900  4.1
27 27.01.1900  7.1
28 28.01.1900  4.8
29 29.01.1900  7.6
30 30.01.1900  8.4
31 31.01.1900  0.3
32 01.02.1900  8.8
33 02.02.1900  7.5
34 03.02.1900  8.8
35 04.02.1900  9.5
36 05.02.1900  7.0
37 06.02.1900  9.3
...
Nun würde ich gerne den kleinsten Mittelwert von 7 aufeinanderfolgenden Tagen berechnen. Es sollen also nicht nur die Mittelwerte von Wert 1 bis 7, 8 bis 14, 15 bis 21 usw. berechnet werden und davon der kleinstes Wert ermittelt werden, sondern die Mittelwerte von allen möglichen 7 aufeinanderfolgenden Werten also z.B. auch von Wert 3 bis 10.
Bei dieser Aufgabe bin ich leider überfragt


vielen Dank für eure Hilfe

mfG Dodo
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Niedrigster Mittelwert von sieben aufeinanderfolgenden Werten

Beitrag von jogo »

Hallo Dodo,

im Paket zoo gibt es die Funktion rollmean()

Code: Alles auswählen

library("zoo")
rollmean(Dataframe$Wert, 7)
Gruß, Jörg
bigben
Beiträge: 2778
Registriert: Mi Okt 12, 2016 9:09 am

Re: Niedrigster Mittelwert von sieben aufeinanderfolgenden Werten

Beitrag von bigben »

Dodo hat geschrieben: Mo Feb 25, 2019 11:27 pm und davon der kleinstes Wert ermittelt werden
und nach dem von Jörg benannten rollmean dann which.min.

Wenn Du Dich nach Jörgs Antwort fragst, woher Du wissen sollst, welches der unendlich vielen packages auf CRAN Dein Problem löst: Natürlich kann man so etwas auch selbst programmieren. Man muss das Rad nicht immer neu erfinden, aber vielleicht hilft es Dir beim lernen:

Code: Alles auswählen

wert <- c(0.3, 2.6, 2.5, 10.9, 1.1, 4.7, 1.6, 0, 2.1, 11.4, 0.1, 0.5, 
          0.4, 5.1, 1.7, 0.2, 0.2, 2.7, 10, 3.6, 3.8, 8.9, 7.8, 1.4, 8.5, 
          4.1, 7.1, 4.8, 7.6, 8.4, 0.3, 8.8, 7.5, 8.8, 9.5, 7, 9.3)

gleitendes_mittel <- numeric(0)
for(i in 1:(length(wert)-6))
  gleitendes_mittel[i] <- mean(wert[i:(i+6)])



kleinstes <- which.min(gleitendes_mittel)
print(kleinstes)

plot(gleitendes_mittel, type="b")
abline(v=kleinstes, lty=2); axis(side = 3, at = kleinstes)
abline(h=gleitendes_mittel[kleinstes], lty=2); axis(side = 4, at = round(gleitendes_mittel[kleinstes], 2))
HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Dodo
Beiträge: 8
Registriert: Fr Feb 15, 2019 8:00 pm

Re: Niedrigster Mittelwert von sieben aufeinanderfolgenden Werten

Beitrag von Dodo »

Vielen Dank euch:)
Antworten