Datenanalyse in Origin mit R-Konsole
Analysis-Origin-Rconsole
Datenanalyse
in Origin mit R-Konsole
Die Hilfsmittel R-Konsole und Rserve-Konsole wurden in Origin 2016 eingeführt.
Mit ihnen können Sie Daten einfach von R in Origin übertragen und die
erweiterten grafischen Funktionen in Origin nutzen. Außerdem haben Sie
Zugriff auf eine Vielzahl statistischer Funktionen bzw. Pakete von R,
die Ihnen bei der Analyse der Daten in Ihrem Origin-Projekt mittels des
Dialogs der R-Konsole und dem Befehl helfen. Im Folgenden sehen Sie ein
visualisiertes Beispiel, um die flexiblen Anwendungen der R-Konsole für
die statistische Datenanalyse und -simulation zu zeigen.
Pakete installieren
Um diese Beispiele auszuführen, müssen Sie auf Ihrem Computer R installiert
haben und die R-Pakete boot und GenSA herunterladen. Bitte öffnen Sie Ihr R-Hauptfenster
(nicht die R-Konsole in Origin) und führen Sie folgendes Skript zum Installieren
und Laden aus:
install.packages("boot") install.packages("GenSA") library(boot) library(GenSA)
Korrelationskoeffizient mit Hilfe von Bootstrap berechnen
Mit dem R-Paket boot kann ein Anwender sehr einfach Bootstrap-Samples
erzeugen und eine statistische Analyse durchführen. In diesem Beispiel
wird vorgestellt, wie der Korrelationskoeffizient mit Hilfe von Bootstrap
mit diesem Paket in R-Konsole berechnet wird.
- Erstellen Sie eine neue Arbeitsmappe und klicken Sie auf ASCII-Dateidaten
, um LogRegData.dat aus \OriginLab\Origin2016\Samples\Statistics
zu importieren.
- Wählen Sie Konnektivität: R-Konsole im Origin-Menü, um den
Dialog R-Konsole zu öffnen.
-
Klicken Sie auf die Schaltfläche und markieren Sie die ersten beiden Spalten
im Arbeitsblatt. Wählen Sie Daten als Datenrahmen, geben Sie den
Objektnamen data im Feld R-Objekt ein und klicken Sie auf , u die Daten aus Origin an den R-Raum weiterzugeben.
- Sie müssen dann das Skript unten im Skripteingabefeld der R-Konsole
ausführen. Fügen Sie die Daten bitte in das Feld ein und klicken Sie auf
Enter:
library(boot) f <- function(d, i){ d2 <- d[i,] return(cor(d2$Age, d2$Salary)) } bootcorr <- boot(data, f, R=500) summary(bootcorr)
5. Das Ergebniss wird im R-Objekt bootcorr gespeichert. Die Korrelation
für jeden Bootstrap wird in bootcorr$t gespeichert. Erstellen Sie
jetzt eine neue Arbeitsmappe und klicken Sie auf , um das R-Objekt bootcorr$t als
Vektor in Spalte A zu bringen. Sie können jetzt sehen, dass Spalte A Ergebnisdaten
mit 500 Zeilen hat.
6. Markieren Sie Spalte A und klicken Sie auf Zeichnen: Statistisch:
Histogramm, um ein Histogramm zu erstellen. Sie können dann die
Verteilungskurve zeichnen und die Farbe benutzerdefiniert anpassen.
Das Ergebnis entspricht demjenigen in der Grafik unten:
Random
Walk in 2D-Gitter simulieren
R enthält eine Effizienzfunktion für Zufallsproben und Matrixmanipulation.
Hier wird ein Beispiel der Simulation eines Random Walks in einem 2D-Gitters
vorgestellt, bei dem Random Walk-Daten in R erzeugt werden und die Route
mit einem farbigen Liniendiagramm in Origin gezeigt wird.
- Neues Arbeitsblatt mit 3 Spalten erstellen
- Klicken Sie auf Konnektivität: R-Konsole im Origin-Menü,
um den Dialog zu öffnen. Führen Sie das Skript unten aus, um die Daten
des Random Walks zu erzeugen:
step <- 2000 walk <- matrix(0, ncol = 3, nrow=step) index <- cbind(seq(step), sample(c(1, 2), step, TRUE)) walk [index] <- sample(c(-1, 1), step, TRUE) walk [,1] <- cumsum(walk[, 1]) walk [,2] <- cumsum(walk[, 2]) walk [,3] <-seq(step)
Klicken Sie zum Ausführen auf Enter.
3. Senden Sie das R-Objekt des Walks als Matrix an [Book1]Sheet1!A:C.
4. Markieren Sie Spalte B in Book1_sheet1, um ein Liniendiagramm zu
erstellen, und verwenden
Sie die Daten in Spalte C, um die Farbe des Liniendiagramms festzulegen.
Passen Sie die Farbskala
und den Farbton benutzerdefiniert an.
Globale
Minima durch simuliertes Annealing suchen
Bitte installieren
Sie das Paket GenSA , bevor Sie das Beispiel ausführen.
Das simulierte Annealing ist eine Methode zum Suchen einer Lösung mit
globalen Minima für nichtlineare Probleme. Wir verwenden hier das Paket
GenSA in R, um den Prozess des simulierten Annealings mit unserer
Testfunktion durchzuführen, um die globalen Minima von Z in Bereich zu suchen.
Nach der Berechnung in R senden Sie die Datenergebnisse an Origin und
erstellen ein Konturdiagramm, um die Ergebnisse zu visualisieren. Erstellen
Sie ein Liniendiagramm, um das Minimum, das bei jedem Iterationsschritt
ermittelt wurde, darzustellen.
1. Wählen Sie Konnektivität: R-Konsole im Origin-Menü, fügen
Sie das Skript unten im Skripteingabefeld ein und klicken Sie auf Enter,
um es auszuführen.
fr <- function(vx){ x <- vx[1] y <- vx[2] 0.26*(x^2+y^2)-0.48*x*y} set.seed(25) dimension <-2 global.min <- 0 tol <- 1e-13 lower <- c(-10,-10) upper <- c(10,10) out <- GenSA(lower = lower, upper = upper, fn = fr, control=list(temperature=200,threshold.stop=global.min+tol,verbose=TRUE,max.call=1E3)) #output the results sprintf("Global minima for the function is:%.3f at (%.3f,%.3f)", out$value, out$par[1],out$par[2])
Die Ergebnisausgabe sollte folgendermaßen aussehen:
[1] "Global minima for the function is: 0.000 at (0.000, 0.000)"
Um eine Anzeige des Konturdiagramms mit dem Punkt des Minimums zu erstellen:
2. Klicken auf die Schaltfläche 3D-Funktionsdiagramm und setzen Sie die Funktion, wie im Diagramm unten zu sehen:
3. Klicken Sie auf OK, um das 3D-Oberflächendiagramm zu erzeugen. Sie
können die Farbabbildung im Dialog Details
Zeichnung: Farbpalette festlegen.
4. Erstellen Sie eine neue Arbeitsmappe mit 3 Spalten, denen XYZ zugewiesen
ist, und geben Sie die Daten (0,0,0) in die erste Zeile ein. Ziehen Sie
den Datensatz in das 3D-Diagramm. Ein Punktdiagramm wird zur Grafik hinzugefügt.
Sie können den Beschriftungstext für das Punktdiagramm im Dialog Details
Zeichnung: Beschriftung weiter bearbeiten.
Das fertige Diagramm sieht in etwa folgendermaßen aus:
Manova-Analyse
In diesem Beispiel wird eine multivariate Analyse für die Personalkosten
einer Gruppe in einem Pflegeheim gemacht. Es gibt 2 Prädiktoren: Eigentum
und Zertifizierung, sowie 3 Antwortvariablen: Kosten der Pflege, Kosten
der Haushaltsführung und Wartungskosten. Um zu erfahren, ob die Personalkosten
für Eigentum bzw. Zertifizierung unterschiedlich sind, führen wir eine
MANOVA für die Daten mit der R-Konsole durch.
- Laden Sie die Daten LaborCost.zip herunter und entpacken Sie das
Paket, um die Datei LaborCost.dat zu extrahieren. Erstellen Sie
dann eine neue Arbeitsmappe in Origin und importieren Sie die Daten per
Drag&Drop.
- Klicken Sie auf die Schaltfläche und markieren Sie die ersten fünf Spalten
im Arbeitsblatt. Wählen Sie Daten als Datenrahmen, geben Sie den
Objektnamen CostData im Feld R-Objekt ein und klicken Sie auf , u die Daten aus Origin an den R-Raum weiterzugeben.
- Führen Sie das R-Skript im Eingabefeld aus:
Cost<-data.matrix(CostData[,3:5]) Ownership<-CostData[,1] Certification<-CostData[,2] fit <- manova(Cost ~ Ownership*Certification) summary(fit, test="Pillai")
Sie können die Ergebnisse in einem Datenrahmen verwandeln und dann den
Freiheitsgrad df an das Origin-Arbeitsblatt als Datenrahmen weitergeben.
sum<-summary(fit, test="Pillai") df<-as.data.frame(sum$stats)
Weil der p-Wert für Eigentum kleiner als 0,01 ist, bestehen keine Eigentumseffekte
auf die durchschnittlichen Personalkosten. Der p-Wert für die Zertifizierung
beträgt jedoch 0,089. Das bedeutet, dass das Ergebnis fast signifikant
ist und es einen Unterschied bei den durchschnittlichen Personalkosten
unter den 3 Zertifizierungstypen geben könnte.
|