R Code für Vielzahl von Beobachtungen anpassen

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

Moderatoren: EDi, jogo

Antworten
Freddy19911
Beiträge: 15
Registriert: Do Sep 05, 2019 5:07 pm

R Code für Vielzahl von Beobachtungen anpassen

Beitrag von Freddy19911 »

Hallo Zusammen,

eine vermutliche ziemlich dumme Frage von einem R-Neuling: Ich habe einen R Code, der sich an unterschiedlichen Stellen auf verschiedene Variablen (Unternehmen) bezieht.

Ein Beispielausschnitt:

Code: Alles auswählen

ID <- data.frame(
                 Unternehmen_1 = which(returns$Date==event.dates$Unternehmen_1, arr.ind=T),
                 Unternehmen_2 = which(returns$Date==event.dates$Unternehmen_2, arr.ind=T),
                 Unternehmen_3 = which(returns$Date==event.dates$Unternehmen_3, arr.ind=T),
                 Unternehmen_4 = which(returns$Date==event.dates$Unternehmen_4, arr.ind=T),
                 Unternehmen_5 = which(returns$Date==event.dates$Unternehmen_5, arr.ind=T))
Mir ist bewusst, dass euch dieser Codeschnipsel inhaltlich nicht viel sagen wird. Er soll das Ziel meines Vorhabens darstellen. Ich habe quasi einen "fertigen" Code, der auf die Anwendung für 5 bestimmte Unternehmen zugeschnitten ist. Dieser Code funktioniert inhaltlich natürlich für eine beliebige Anzahl von Unternehmen und ich möchte den Code nun eben auf eine Vielzahl von Unternehmen anpassen. Der Codeschnipsel oben soll also für X Unternehmen generiert werden. Ich habe zuerst an eine Möglichkeit gedacht das Ganze in Excel zu realisieren. Vielleicht gibt es aber auch eine viel intuitivere Lösung oder jemand hat einen Tipp wie ich hier am Besten vorgehen sollte. Kommt man hier irgendwie an der händischen Generierung der einzelnen Codezeilen vorbei? :geek:

Danke und beste Grüße
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: R Code für Vielzahl von Beobachtungen anpassen

Beitrag von bigben »

Hallo Freddy,

der natürlichere Weg in R wäre, alle Unternehmen in eine Liste zu packen. Anstelle von Unternehmen_23 würde man dann Unternehmen[[23]] schreiben. Dein obiges Anliegen und jede andere Operation, die sich auf alle Unternehmen bezieht wird dann zur einfachen Schleife. Ich rate Dir, Deinen Code so umzustellen. Unternehmen_23 wird Dich auf Dauer nicht glücklich machen.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Freddy19911
Beiträge: 15
Registriert: Do Sep 05, 2019 5:07 pm

Re: R Code für Vielzahl von Beobachtungen anpassen

Beitrag von Freddy19911 »

Hallo Bernhard,

vielen Dank für deine Hilfe. Insgesamt habe ich 384 Unternehmen.

Die (nicht R-konforme) Syntax wäre doch dann in etwa so oder?
Ich definiere eine Variable Unternehmen_i = mit i = 1,2...384

Sodass:

event.dates <- data.frame(Unternehmen_i = as.Date("Date_i")

Könntest du mir vielleicht auf die Sprünge helfen, wie ich die Variable definiere und dieser dann die Unternehmen zuordnen kann? Komme ich hier mit der list() Funktion weiter?

Vielen Dank für deine Hilfe!
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: R Code für Vielzahl von Beobachtungen anpassen

Beitrag von jogo »

Hallo Freddy,

bei mir sieht das so aus:

Code: Alles auswählen

U <- paste0("Unternehmen_", 1:5)
ID <- lapply(U, function(u) which(returns$Date==event.dates[[u]], arr.ind=TRUE))
Kannst Du bitte mal den output von

Code: Alles auswählen

str(returns) # und
str(returns$Date)
in Deine nächste Nachricht kopieren? (Mir erscheinen die Datenstrukturen etwas seltsam - vielleicht muss das bei Dir so sein. Welche Notwendigkeit gibt es sonst für arr.ind=TRUE :? ?)

Gruß, Jörg
Antworten