Export & Import in R

Varianzanalyse, Diskriminanzanalyse, Kontingenzanalyse, Faktorenanalyse, Clusteranalyse, MDS, ....

Moderator: EDi

Antworten
studentin_09

Export & Import in R

Beitrag 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
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Export & Import in R

Beitrag 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
studentin_09

Re: Export & Import in R

Beitrag 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
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Export & Import in R

Beitrag 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
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Export & Import in R

Beitrag von EDi »

Alternativ, würde ich mir auch ?saveRDS() anschauen um speziell nur das gasoline Objekt auf die Platte abzulegen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
studentin_09

Re: Export & Import in R

Beitrag von studentin_09 »

Danke für Eure Nachrichten, Jörg und Edi. Werde ich direkt versuchen :)
Antworten