Datenanalyse in Origin mit R-Konsole
Inhalt
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.








