partielles ranking

For(), If(), While() und Verwandte. Diskussion von programmiertechnischen Fragen.

partielles ranking

Beitragvon R-Noop » Mi 22. Mai 2019, 14:58

Liebe Cracks,

für meine Regression möchte ich Variablen eines Vektors ranken (rank(x)), um damit im Anschluss z-Scores zu bilden. Ich haben einen riesigen Datensatz mit börsennotierten Unternehmen (Jahresdaten). Ich möchte gerne ein Ranking in jedem Jahr durchführen. Dies habe ich mit subsets der jeweiligen Jahre gemacht. Wie bekomme ich die ermittelten Ränge der einzelnen Subsets wieder in den großen ursprünglichen Datenframen. Der Output soll in einem schon vordefinierten Vektor des Datenframes landen?
R-Noop
 
Beiträge: 3
Registriert: So 12. Nov 2017, 10:29
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: partielles ranking

Beitragvon databraineo » Do 26. Sep 2019, 17:53

Hallo R-Noob,

eine Möglichkeit wäre, die Subsets mittels merge bzw. join (im dplyr-Package) wieder mit dem ursprünglichen data.frame zu verbinden. Dabei musst Du einen left-join machen, damit alle Zeilen aus dem ersten Datensatz vorhanden sind. Eventuell musst Du auch noch die Spalten der Subsets einschränken, damit nur die gewünschten übertragen werden
Code: Alles auswählen
dfGesamt <- left_join(dfGesamt, dfTeil1)
# oder
dfGesamt <- merge(dfGesamt, dfTeil1, all.x=TRUE)


Du könntest aber auch nochmal überdenken, ob das mit den Subsets wirklich nötig ist. Dann könntest Du Dir das Gefummel sparen 8-) . Auch hier empfehle ich das Package dplyr mit der group_by Funktion. Das könnte dann ungefähr so aussehen:
Code: Alles auswählen
dfGesamt <- dfGesamt %>%
    group_by(Jahr) %>%
    mutate(Rang = rank(Sortierspalte))


Hoffe, ich habe deine Frage richtig verstanden.

Viele Grüße,
Holger
Lasst uns helfen, dass Menschen mittels Datenanalyse intelligente Entscheidungen treffen

Website: http://www.databraineo.de
Twitter: @databraineo, https://twitter.com/databraineo
Facebook-Gruppe: https://www.facebook.com/groups/datascience.de/
databraineo
 
Beiträge: 5
Registriert: Fr 10. Mai 2019, 12:41
Wohnort: Bonn
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Programmierkonzepte

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron