Seite 1 von 1

Ausgabe von 'Nachbarn' bestimmter Werte

Verfasst: Di Jul 03, 2018 3:52 pm
von Ilonia
Hallo zusammen,
ich habe folgende Frage.
Angenommen ich habe folgenden Datensatz:

Code: Alles auswählen

df <- data.frame(date=seq(as.Date('2000/01/01'), as.Date('2000/01/20'), by="day"),x=sample(1:20) )
Hier möchte ich mir alle Werte anzeigen lassen, bei denen x> 15 ist. Das ist kein Problem:

Code: Alles auswählen

df[(df[,2]>15),]
Gibt es allerdings eine Möglichkeit jeweils 2 Zeilen vor und nach dem 'Ereignis' (also x>15) anzeigen lassen?
Ich habe hierzu leider nichts gefunden.

Vielen Dank schon einmal für eure Hilfen!

Liebe Grüße

Re: Ausgabe von 'Nachbarn' bestimmter Werte

Verfasst: Mi Jul 04, 2018 8:02 am
von EDi
Irgendwie so (hab gerade kein R zur Hand) :

Code: Alles auswählen

hit = which(df[,2]>15) 
take = c(hit-1, hit, hit+1)
df[take,] 

Re: Ausgabe von 'Nachbarn' bestimmter Werte

Verfasst: Mi Jul 04, 2018 8:45 am
von jogo
Vielleicht aber auch:

Code: Alles auswählen

set.seed(9)
df <- data.frame(date=seq(as.Date('2000/01/01'), as.Date('2000/01/20'), by="day"),x=sample(1:20) )
hit <- which(df[,2]>15) 
take <- intersect(1:nrow(df), unique(c(hit, hit-1, hit+1)))
df[take,]
Die Logik der Operation ist in der Frage nicht eindeutig dargelegt.

Gruß, Jörg

Re: Ausgabe von 'Nachbarn' bestimmter Werte

Verfasst: Mi Jul 04, 2018 9:10 am
von Ilonia
Guten Morgen,
vielen Dank für eure Hilfen.
Es hat funktioniert!

Hintergrund meiner Frage war, dass ich tägliche Niederschlagsdaten habe, und bei Ausreißern schauen möchte, ob es tagszuvor/den Tag danach auch geregnet hat, oder nicht um so möglicherweise auf Fehlmessungen zu schließen.

Liebe Grüße