Problem mit Listen

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

Moderatoren: EDi, jogo

mrzlatan91

Re: Problem mit Listen

Beitrag von mrzlatan91 »

jogo hat geschrieben: Di Jun 20, 2017 9:02 pm
mrzlatan91 hat geschrieben: Di Jun 20, 2017 8:13 pm Hi Jörg, ja das stimmt. Vielen vielen Dank. Mir ist nur nicht ganz klar, wieso du die Zerhackung mit c(1,1,2) machst. Kannst du mir vielleicht noch kurz erklären wie das zu stande kommt?
alle Zeilen mit dem gleichen Wert im Gruppierungsvektor gehören zusammen in einen Teildataframe (subset). Dies und den Rest erklärt der Hilfetext:

Code: Alles auswählen

?split
In meinem realen Data-Frame df habe ich beispielsweise eine Spalte Date. Jetzt ist es so, dass z.B. ab
df$date[500] Aktie 2 beginnt und ab df$date[700] Aktie 3. Könntest du mir sagen wie dann mein Vektor c( , , , ) aussieht beim Split-befehl?
da gibt es wie immer verschiedene Möglichkeiten:

Code: Alles auswählen

gruppe <- numeric(nrow(df))
gruppe[1:499] <- 1
gruppe[500:699] <- 2
gruppe[700:nrow(df)] <- 3
oder

Code: Alles auswählen

gruppe <- rep(1:3, c(499, 700-500, nrow(df)-699))
oder

Code: Alles auswählen

gruppe <- rep(1:3, diff(c(1, 500, 700, 1+nrow(df))))
Noch schöner wäre es, wenn Dein Dataframe eine Spalte mit dem Namen der Aktie hat: dann könntest Du gleich diese Spalte verwenden, um die Gruppierung zu definieren.

Gruß, Jörg
Hallo Jörg, tatsächlich hat mein DataFrame eine Spalte mit dem Namen der Aktie :)

ich konnte es jetzt mit:
df <- split(df, df$Name) wie gewünscht splitten.

Dein Beitrag hat mir sehr geholfen. Vielen vielen Dank dafür :) Du hast mir dabei sehr viel Arbeit erspart.

Viele Grüße,
Mrzlatan91
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Problem mit Listen

Beitrag von jogo »

mrzlatan91 hat geschrieben: Di Jun 20, 2017 9:42 pm Hallo Jörg, tatsächlich hat mein DataFrame eine Spalte mit dem Namen der Aktie :)
ich hatte da so einen Verdacht ;)
ich konnte es jetzt mit:
df <- split(df, df$Name) wie gewünscht splitten.

Dein Beitrag hat mir sehr geholfen. Vielen vielen Dank dafür :) Du hast mir dabei sehr viel Arbeit erspart.
prima, das freut mich.
Hast Du jetzt eine Auswertungsroutine, die einen Dataframe auswertet, in dem nur die Datensätze einer Aktie sind?
Wenn ja, dann können als nächstes lapply() oder sapply() eingesetzt werden.
Oder Du brauchst tapply() oder aggregate() auf dem ursprünglichen Dataframe. Das richtet sich danach, wie die Auswertung der Daten je Aktie aussieht. Noch genauere Hilfe kann es geben, wenn Du mehr Infos über Deine Daten lieferst, z.B. den Output von
str(df)... dann muss ich nicht immer meine Glaskugel bemühen (wie bei der Spalte mit den Namen der Aktien).

Gruß, Jörg
mrzlatan91

Re: Problem mit Listen

Beitrag von mrzlatan91 »

jogo hat geschrieben: Di Jun 20, 2017 9:56 pm
mrzlatan91 hat geschrieben: Di Jun 20, 2017 9:42 pm Hallo Jörg, tatsächlich hat mein DataFrame eine Spalte mit dem Namen der Aktie :)
ich hatte da so einen Verdacht ;)
ich konnte es jetzt mit:
df <- split(df, df$Name) wie gewünscht splitten.

Dein Beitrag hat mir sehr geholfen. Vielen vielen Dank dafür :) Du hast mir dabei sehr viel Arbeit erspart.
prima, das freut mich.
Hast Du jetzt eine Auswertungsroutine, die einen Dataframe auswertet, in dem nur die Datensätze einer Aktie sind?
Wenn ja, dann können als nächstes lapply() oder sapply() eingesetzt werden.
Oder Du brauchst tapply() oder aggregate() auf dem ursprünglichen Dataframe. Das richtet sich danach, wie die Auswertung der Daten je Aktie aussieht. Noch genauere Hilfe kann es geben, wenn Du mehr Infos über Deine Daten lieferst, z.B. den Output von
str(df)... dann muss ich nicht immer meine Glaskugel bemühen (wie bei der Spalte mit den Namen der Aktien).

Gruß, Jörg
Hi Jörg, ja genau, ich kann jetzt mit lapply arbeiten.
Momentan komme ich ganz gut zurecht, da ich bereits einen ähnlichen Datensatz vorliegen hatte und fast das gleiche machen musste :)

ich komme bei Problemen aber gerne auf dein Angebot zurück ;)
Antworten