Ergebnisse nach Excel exportieren

... zu anderer statistischer Software, zu Datenbanken und Programmiersprachen.

Moderatoren: EDi, jogo

karnevals_jeck
Beiträge: 6
Registriert: Di Aug 10, 2021 2:50 pm

Ergebnisse nach Excel exportieren

Beitrag von karnevals_jeck »

Hallo zusammen,

ich bin ein ziemlicher Neuling in R (Studio), daher ist mein Horizont noch nicht so weit. In der Suche konnte ich mein Problem nur teilweise finden, daher mache ich einen neune Post auf.

Ich mache eine Event-Studie auf Aktienrenditen, habe bereits Alle Daten aufbereitet und mein R-Code steht auch und funktioniert.
Nun habe ich das Problem, dass ich ca. 270 Regressionen mit den dazugehörigen Tests durchführen will, und die Ergebnisse tabellarisch zusammenfassen muss.

Das Herauskopieren der einzelnen (Zwischen-)Ergebnisse ist sehr mühsam und ich würde gerne, wenn möglich, alles in eine Excel-Datei ausgeben lassen. Ich weiß nur nicht, wie ich das anstellen soll. Ich habe bereits die Funktion write.csv2 in Verbindung mit rbind versucht, aber ich bekomme erstens Fehlermeldungen und zweitens nicht alle Ergebnisse zusammen.

Gibt es da nicht eine effizientere Methode?

Vielen Dank vorab!
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Ergebnisse nach Excel exportieren

Beitrag von student »

Hallo,

Leider zeigst Du hier nicht, was Du schon gemacht hast und auch nicht die Fehlermeldung.

Ich sehe keinen Zusammenhang zwischen write.csv2 und rbind vermute aber, dass Du zuerst einen Dataframe bastelst und diesen dann anschließend über write.csv2 speichern möchtest?
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
bigben
Beiträge: 2778
Registriert: Mi Okt 12, 2016 9:09 am

Re: Ergebnisse nach Excel exportieren

Beitrag von bigben »

Hallo karnevals,
karnevals_jeck hat geschrieben: Di Aug 10, 2021 3:06 pmGibt es da nicht eine effizientere Methode?
Eine sehr viel effizientere Methode zum Fragenstellen ist das Erstellen eines reproduzierbaren Minimalbeispiels. Das Konzept an sich ist hier sehr gut erklärt: https://stackoverflow.com/help/minimal- ... le-example
Speziell für R nützliche Hinweise dazu gibt es hier: http://forum.r-statistik.de/viewtopic.php?f=20&t=11
karnevals_jeck hat geschrieben: Di Aug 10, 2021 3:06 pmGibt es da nicht eine effizientere Methode?
Um die Ergebnisse linearer Regressionen in Tabellen zusammenzufassen sind die Funktionen tidy und glance im Paket broom sehr effizient. Eine gute Einführung dazu gibt es hier: https://broom.tidymodels.org/articles/broom.html ein praktisches Beispiel hat sich hier ergeben: http://forum.r-statistik.de/viewtopic.php?f=7&t=3368

Konkreter zu Deinem Problem können wir helfen, sobald es ein minimales reproduzierbares Beispiel gibt.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
karnevals_jeck
Beiträge: 6
Registriert: Di Aug 10, 2021 2:50 pm

Re: Ergebnisse nach Excel exportieren

Beitrag von karnevals_jeck »

Guten Morgen, und vielen Dank für die schnellen Antworten!
bigben hat geschrieben: Di Aug 10, 2021 4:48 pm
Eine sehr viel effizientere Methode zum Fragenstellen ist das Erstellen eines reproduzierbaren Minimalbeispiels. Das Konzept an sich ist hier sehr gut erklärt: https://stackoverflow.com/help/minimal- ... le-example
Speziell für R nützliche Hinweise dazu gibt es hier: http://forum.r-statistik.de/viewtopic.php?f=20&t=11
Ich muss vor der Regression die Datenreihen auf Konsistenz usw. prüfen, z.B. auf Stationarität. Dazu ein reproduzierbares Beispiel (Daten im Anhang:

Code: Alles auswählen

# Stationaritaetspruefung HDAX Schlusskurse
#####

library(lmtest) #fuer Reset-Test
library(sandwich) #fuer Newey-West-Korrektur
library(tseries) #fuer T-Series Tests


#ADF-Test
adf.test(HDAX_Schaetzfenster$Schlusskurs)

#PP-Test
pp.test(HDAX_Schaetzfenster$Schlusskurs)

#KPSS-Test
kpss.test(HDAX_Schaetzfenster$Schlusskurs)
Das funktioniert ja auch und ich bekomme mein Ergebnis, aber nur in der Konsole. Und das für eine ganze Reihe von Tests und später auch Regressionsdiagnostik. Am liebsten würde ich diese ganzen Ergebnisse in einer Datei ausgeben. Aber dazu müsste das o.g. Beispiel ja erst mal zu einem Dataframe werden?


student hat geschrieben: Di Aug 10, 2021 4:26 pm Hallo,

Leider zeigst Du hier nicht, was Du schon gemacht hast und auch nicht die Fehlermeldung.

Ich sehe keinen Zusammenhang zwischen write.csv2 und rbind vermute aber, dass Du zuerst einen Dataframe bastelst und diesen dann anschließend über write.csv2 speichern möchtest?
Genau, hier habe ich schon selber versucht, Ergebnisse zusammen zu bringen, was aber wohl aufgrund der Struktur nicht geht. Ich würde auch hier gern ein Beispielfall zeigen, müsste aber dazu den gesamten Code posten. Ist das gewollt?


Danke und viele Grüße!
Dateianhänge
HDAX_Schaetzfenster.xlsx
(16.74 KiB) 105-mal heruntergeladen
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Ergebnisse nach Excel exportieren

Beitrag von student »

Hast Due es mal mit

Code: Alles auswählen

#ADF-Test
ADF_Ergebnis <- adf.test(HDAX_Schaetzfenster$Schlusskurs)
probiert?

ADF_Ergebnis (habe ich mal so gewählt) nimmt die Rückgabe von adf-text() auf und Du solltest mit ADF_Ergebnis$xxx auf die einzelnen Resultate zugreifen können.

Schau Dir den Inhalt von ADF_Ergebnis vorher mit str(ADF_Ergebnis) an.

Was das Dataframe angeht, hier nur ein kleines Beispiel:

Code: Alles auswählen

# Ausgabe-Tabelle (DataFrame) basteln:
# Daten: Die Gesamtdaten
# vergleich: Neue, zusätzliche Daten (Teil1)
# ort_aus_vergleich: Ebenfalls neue Daten...

ausgabe <- data.frame(Daten, vergleich, ort_aus_vergleich)

return(ausgabe)
Ich will damit andeuten, dass Du über z. B. ADF_Ergebnis$xxx ganz gezielt Deine Ausgabe zusammenbasteln kannst...
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
karnevals_jeck
Beiträge: 6
Registriert: Di Aug 10, 2021 2:50 pm

Re: Ergebnisse nach Excel exportieren

Beitrag von karnevals_jeck »

student hat geschrieben: Mi Aug 11, 2021 9:00 am Hast Due es mal mit

Code: Alles auswählen

#ADF-Test
ADF_Ergebnis <- adf.test(HDAX_Schaetzfenster$Schlusskurs)
probiert?

ADF_Ergebnis (habe ich mal so gewählt) nimmt die Rückgabe von adf-text() auf und Du solltest mit ADF_Ergebnis$xxx auf die einzelnen Resultate zugreifen können.

Schau Dir den Inhalt von ADF_Ergebnis vorher mit str(ADF_Ergebnis) an.

Was das Dataframe angeht, hier nur ein kleines Beispiel:

Code: Alles auswählen

# Ausgabe-Tabelle (DataFrame) basteln:
# Daten: Die Gesamtdaten
# vergleich: Neue, zusätzliche Daten (Teil1)
# ort_aus_vergleich: Ebenfalls neue Daten...

ausgabe <- data.frame(Daten, vergleich, ort_aus_vergleich)

return(ausgabe)
Ich will damit andeuten, dass Du über z. B. ADF_Ergebnis$xxx ganz gezielt Deine Ausgabe zusammenbasteln kannst...
Hi, sorry für meine späte Antwort. ich habe jetzt mittlerweile alle Daten aufbereitet, das ist echt menge Holz. :(

Vielen Dank für den Tipp!

Das hier verstehe ich und bin an sich damit auch zufrieden:

Code: Alles auswählen

#ADF-Test
ADF_Ergebnis <- adf.test(HDAX_Schaetzfenster$Schlusskurs)
Das heißt, ich könnte ich mir für jeden einzelnen Test ein (ADF_Ergebnis1, ADF_Ergebnis2, etc.) "Daten" bauen und dann mit dem zweiten Code

Code: Alles auswählen

# Ausgabe-Tabelle (DataFrame) basteln:
# Daten: Die Gesamtdaten
# vergleich: Neue, zusätzliche Daten (Teil1)
# ort_aus_vergleich: Ebenfalls neue Daten...

ausgabe <- data.frame(Daten, vergleich, ort_aus_vergleich)

return(ausgabe)
in einer einzigen Tabelle ausgeben?

Nur was meinst Du mit "Vergleich, Ort aus Vergleich"? Meine Idee wäre bspw. gewesen:

Code: Alles auswählen

ausgabe <- data.frame(ADF_Ergebnis1, ADF_Ergebnis2, etc.)

return(ausgabe)
Und dann das ganze mit write.csv2 oder writeXLS als Tabelle ausgeben.

Sorry, wenn ich mich total laienhaft ausdrücke!

Edit: Ich benötige immer nur den P-Wert (p-value), vielleicht wird die Ausgabe dadurch einfacher?
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Ergebnisse nach Excel exportieren

Beitrag von student »

Oh, sorry, ich dachte das wäre klar! Daten, Vergleich usw sind meine Variablen und sollten hier nur ein Beispiel sein! ;)
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
karnevals_jeck
Beiträge: 6
Registriert: Di Aug 10, 2021 2:50 pm

Re: Ergebnisse nach Excel exportieren

Beitrag von karnevals_jeck »

student hat geschrieben: Mo Aug 23, 2021 9:45 am Oh, sorry, ich dachte das wäre klar! Daten, Vergleich usw sind meine Variablen und sollten hier nur ein Beispiel sein! ;)
Ok, gut! :)

Ich habe mir jetzt folgendes gebastet:

Code: Alles auswählen

#####
# Stationaritaetspruefung HDAX Schlusskurse
#####

#ADF-Test
adf.test(HDAX_Schaetzfenster$Schlusskurs)
HDAX_ADF <- adf.test(HDAX_Schaetzfenster$Schlusskurs)

#PP-Test
pp.test(HDAX_Schaetzfenster$Schlusskurs)
HDAX_PP <- pp.test(HDAX_Schaetzfenster$Schlusskurs)

#KPSS-Test
kpss.test(HDAX_Schaetzfenster$Schlusskurs)
HDAX_KPSS <- kpss.test(HDAX_Schaetzfenster$Schlusskurs)

ausgabe <- data.frame(HDAX_ADF, HDAX_PP, HDAX_KPSS)
return(ausgabe)
Bekomme aber folgenden Fehler ausgegeben:

Code: Alles auswählen

Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) : 
  cannot coerce class ‘"htest"’ to a data.frame
Was mache ich falsch?
karnevals_jeck
Beiträge: 6
Registriert: Di Aug 10, 2021 2:50 pm

Re: Ergebnisse nach Excel exportieren

Beitrag von karnevals_jeck »

Ich habe jetzt noch einmal mit dem empfohlenen BROOM-Paket experimentiert und finde es ganz schick. Eigentlich bin ich mit der Ausgabe fast schon zufrieden, nur hätte ich gerne die Ergebnisse untereinander und nicht nebeneinander. Bekommt man das irgendwie hin?

Code: Alles auswählen

#####
# Stationaritaetspruefung HDAX Schlusskurse
# Pakete installieren
library(lmtest) #fuer Reset-Test
library(sandwich) #fuer Newey-West-Korrektur
library(tseries) #fuer T-Series Tests
library(readxl) #fuer den Import von Excel-Dateien
library(WriteXLS) #fuer das Anlegen von Excel-Dateien
library(broom) #fuer die tabellarische Darstellung und Ausgabe der Test-Methoden
#####

#ADF-Test
adf.test(HDAX_Schaetzfenster$Schlusskurs)
broom::tidy(adf.test(HDAX_Schaetzfenster$Schlusskurs))
ADF_HDAX <- broom::tidy(adf.test(HDAX_Schaetzfenster$Schlusskurs))


#PP-Test
pp.test(HDAX_Schaetzfenster$Schlusskurs)
broom::tidy(pp.test(HDAX_Schaetzfenster$Schlusskurs))
PP_HDAX <- broom::tidy(pp.test(HDAX_Schaetzfenster$Schlusskurs))

#KPSS-Test
kpss.test(HDAX_Schaetzfenster$Schlusskurs)
broom::tidy(kpss.test(HDAX_Schaetzfenster$Schlusskurs))
KPSS_HDAX <- broom::glance(kpss.test(HDAX_Schaetzfenster$Schlusskurs))

ALLE_Stat <- data.frame(ADF_HDAX, PP_HDAX, KPSS_HDAX)

WriteXLS(ALLE_Stat, "Stationaritaetspruefung.xls")

Dateianhänge
HDAX_Schaetzfenster.xlsx
(16.74 KiB) 89-mal heruntergeladen
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Ergebnisse nach Excel exportieren

Beitrag von student »

Sorry, mit broom habe keine besondere Erfahrung. Aber zu

Code: Alles auswählen

HDAX_KPSS <- kpss.test(HDAX_Schaetzfenster$Schlusskurs)
kann ich sagen, dass Du die komplette Ausgabe der Funktion kpp.test in HDAX_KPSS ablegst und diese kannst Du nicht mit

Code: Alles auswählen

ausgabe <- data.frame(..., ..., HDAX_KPSS)
in ausgabe ablegen. Du musst Dir das mit dem $-Operator zusammenbasteln....
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Antworten