Ausgabe von 'Nachbarn' bestimmter Werte

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

Moderatoren: EDi, jogo

Antworten
Ilonia
Beiträge: 30
Registriert: Mi Aug 09, 2017 3:50 pm

Ausgabe von 'Nachbarn' bestimmter Werte

Beitrag 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
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Ausgabe von 'Nachbarn' bestimmter Werte

Beitrag 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,] 
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Ausgabe von 'Nachbarn' bestimmter Werte

Beitrag 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
Ilonia
Beiträge: 30
Registriert: Mi Aug 09, 2017 3:50 pm

Re: Ausgabe von 'Nachbarn' bestimmter Werte

Beitrag 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
Antworten