Seite 1 von 1

Export & Import in R

Verfasst: Do Mär 02, 2017 8:06 am
von studentin_09
Hallo :)

Ihr habt mir die letzten Male schon so toll weitergeholfen, daher dachte ich mir, ich frage Euch noch einmal ;)

Es geht um Folgendes: Ich rechne eine PLSR mittels R/R-Studio, beispielsweise mit dem Datensatz "gasoline" aus dem Package "PLS":

Code: Alles auswählen

gasoline <-plsr (Octane ~ NIR, ncomp = 10, data = gasTrain, validation = "LOO" 
Das Ergebnis der PLSR lasse ich mir mit

Code: Alles auswählen

summary (gasoline) 
ausgeben.

Nur will ich die PLS-Regression, die mit dem ersten Befehl gerechnet wird, in eine Textdatei exportieren. Das mache ich momentan mit

Code: Alles auswählen

capture.output(summary(gasoline), file = "Gasoline_octane.txt")
Ich bin mir jedoch nicht sicher, ob ich tatsächlich die hinter dem Befehl steckende Regression exportiere oder quasi nur deren Ergebnisse. Das Textfile, das ich hiermit erhalte, sieht wie folgt aus:

Code: Alles auswählen

 
 Data: 	X dimension: 50 401 
	Y dimension: 50 1
Fit method: kernelpls
Number of components considered: 10

VALIDATION: RMSEP
Cross-validated using 50 leave-one-out segments.

           (Intercept)  1 comps   2 comps   3 comps   4 comps   5 comps   6 comps   7 comps   8 comps   9 comps   10 comps
CV        1.545         1.357       0.2966     0.2524      0.2476     0.2398     0.2319     0.2386     0.2316     0.2449      0.2673
adjCV   1.545         1.356       0.2947     0.2521      0.2478     0.2388     0.2313     0.2377     0.2308     0.2438      0.2657

TRAINING: % variance explained
             1 comps   2 comps   3 comps   4 comps   5 comps   6 comps   7 comps   8 comps   9 comps   10 comps
X           78.17       85.58       93.4         96.06       96.94       97.89      98.38        98.85        99.02        99.2
octane   29.39       96.85       97.9         98.26       98.86       98.96      99.09        99.16        99.28        99.4
Das passt auch prinzipiell. Ich möchte aber nun diese Regression auch wieder importieren können, sodass ich nicht immer auf mein altes Skript zugreifen muss. Ziel ist es, auf einfachem Weg die Ergebnisse der Regressionsrechnung in R zu bekommen, sodass die Kalibrierung mit dem Trainingsdatensatz damit quasi hinterlegt ist. Ich hoffe, ich hab das jetzt nicht zu durcheinander geschrieben... Könnt Ihr mir weiterhelfen, wie ich das hinbekomme? Vielen Dank vorab!! :)

Viele Grüße
studentin_09

Re: Export & Import in R

Verfasst: Do Mär 02, 2017 11:14 am
von jogo
Hallo Studentin_09,

wahrscheinlich möchtest Du das Objekt gasoline speichern. Bitte schau Dir dafür save() und load() an;
also z.B.

Code: Alles auswählen

save(gasoline, file="gasoline.RData")
Gruß, Jörg

Re: Export & Import in R

Verfasst: Do Mär 02, 2017 3:20 pm
von studentin_09
Hallo Jörg,

danke für deine Antwort! :)

Leider klappt das bei mir nicht. Nach Ausführung von

Code: Alles auswählen

load(gasoline, file="gasoline.RData")
kam folgende Fehlermeldung:

Code: Alles auswählen

Error: invalid 'envir' argument
Woran könnte das liegen? Ich hab das Ganze auch schon ohne Gänsefüßchen ausgeführt, dachte daran könnte es vielleicht liegen. Aber das bringt nichts, die Fehlermeldung erscheint trotzdem.

Viele Grüße
Studentin_09

Re: Export & Import in R

Verfasst: Do Mär 02, 2017 3:32 pm
von jogo
Es muss einfach heißen:

Code: Alles auswählen

load(file="gasoline.RData")
Dabei werden im Workspace die entsprechenden Objekte erzeugt, die Du vorher in der Datei abgelegt hast.
Bitte schau in solchen Fällen auch in den Hilfetext der entsprechenden Funktion. Dort siehst Du:

Code: Alles auswählen

### Usage
load(file, envir = parent.frame(), verbose = FALSE)
Da Du für file= einen Wert übergeben hast bei load(gasoline, file="gasoline.RData"), bleibt als Parameter, der den Wert gasoline bekommen soll envir= (immer schön der Reihenfolge nach für Parameter, die nicht namentlich übergeben werden) - das ist also eine nicht gewollte Zuordnung.
Im Abschnitt Details gibt es eine ausführliche Beschreibung, was die Funktion macht. Auch die anderen Abschnitte sind interessant. Die Beispiele aus dem Abschnitt Examples kann man sich auch vorführen lassen:

Code: Alles auswählen

example("load")
Gruß, Jörg

Re: Export & Import in R

Verfasst: Do Mär 02, 2017 7:21 pm
von EDi
Alternativ, würde ich mir auch ?saveRDS() anschauen um speziell nur das gasoline Objekt auf die Platte abzulegen.

Re: Export & Import in R

Verfasst: Fr Mär 03, 2017 10:49 am
von studentin_09
Danke für Eure Nachrichten, Jörg und Edi. Werde ich direkt versuchen :)