Zeilen mit bestimmtem Monat aus Dataframe auslesen

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

Zeilen mit bestimmtem Monat aus Dataframe auslesen

Beitrag von Dodo »

Hallo R-Community,

Ich habe eine Dataframe mit zwei Spalten.

Code: Alles auswählen

      Beginn Dauer
1  2015-06-30     6
2  2015-07-15     4
3  2015-07-20     3
4  2015-08-05     4
5  2015-08-29     3
6  2016-08-25     4
7  2017-05-27     3
8  2017-06-19     3
9  2017-07-05     4
10 2018-07-24     4
11 2018-07-29     3
12 2018-08-02     8
13 2018-08-20     4
Daraus möchte ich gerne alle Zeilen auslesen, bei denen der Beginn im Monat Juni ist. Ich habe es mit der which Funktion probiert. Allerdings weiß ich nicht, wie ich die Argumente eingeben muss, dass nur Zeilen ausgelesen werden mit dem Beginn im Juni. Das Format des Datum in der Spalte Beginn ist "%d.%m.%Y")

vielen Dank für eure Hilfe

mit freundlichen Grüßen Dodo
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Zeilen mit bestimmtem Monat aus Dataframe auslesen

Beitrag von jogo »

Hallo Dodo,

Code: Alles auswählen

subset(Dataframe, substr(Beginn, 5, 8)=="-06-")
sollte es erledigen können.

Gruß, Jörg
Dodo
Beiträge: 8
Registriert: Fr Feb 15, 2019 8:00 pm

Re: Zeilen mit bestimmtem Monat aus Dataframe auslesen

Beitrag von Dodo »

Hallo Jörg
es funktioniert. Vielen Dank:)
Könntest du mir eventuell noch erklären, warum man bei substr für Start bzw. Stop 5 bzw. 8 eingibt. Ich würde die Funktion gerne verstehen, damit ich in Zukunft nicht mehr so viel fragen muss :D
Und wie würde ich die Bedingung aussehen, wenn beispielsweiße nach Jahren auslesen möchte?

Für 2015 so irgendwie in der Art? =="2015- -"

vielen Dank
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Zeilen mit bestimmtem Monat aus Dataframe auslesen

Beitrag von bigben »

Hallo Dodo,

Was ist das 5. und was das 8. Zeichen in der Zeichenfolge "2015-06-30"?

Was passiert bei

Code: Alles auswählen

substr("2015-06-30", 1, 5)
substr("2015-06-30", 3, 4)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Zeilen mit bestimmtem Monat aus Dataframe auslesen

Beitrag von jogo »

Hallo Dodo,
Dodo hat geschrieben: Di Feb 19, 2019 12:35 pm Hallo Jörg
es funktioniert. Vielen Dank:)
prima
Könntest du mir eventuell noch erklären, warum man bei substr für Start bzw. Stop 5 bzw. 8 eingibt. Ich würde die Funktion gerne verstehen, damit ich in Zukunft nicht mehr so viel fragen muss :D
Das kann ich auch nicht besser beschreiben als es in der Dokumentation der Funktion steht:

Code: Alles auswählen

?substr
example(substr)
Und wie würde ich die Bedingung aussehen, wenn beispielsweiße nach Jahren auslesen möchte?
Ich könnte mir auch gut vorstellen, dass Du eine entsprechende zusätzliche Spalte in Deinem Dataframe erzeugen möchtest, um diese dann als Gruppierungsvariable zu verwenden ...

Gruß, Jörg
Dodo
Beiträge: 8
Registriert: Fr Feb 15, 2019 8:00 pm

Re: Zeilen mit bestimmtem Monat aus Dataframe auslesen

Beitrag von Dodo »

Vielen Dank euch:) ich habe es jetzt verstanden. Vorallem die Frage von Bernhard hat mir einen guten Denkanstoß gegeben. Wenn ich also das selbe für das Jahr 2015 machen würde, müsste der Code folgendermaßen aussehen.

Code: Alles auswählen

subset(Dataframe, substr(Beginn, 1, 5)=="2015-")

mit freundlichen Grüßen
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Zeilen mit bestimmtem Monat aus Dataframe auslesen

Beitrag von EDi »

Oder im tidyverse :

Code: Alles auswählen

library(lubridate) 
month(ymd("2015-06-30"))
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.
Antworten