Ich verwende die von Terry T. bereitgestellte Deming-Funktion für diesen archivierten R-Help-Thread . Ich vergleiche zwei Methoden, daher habe ich Daten, die so aussehen:
y x stdy stdx
1 1.2 0.23 0.67
2 1.8 0.05 0.89
4 7.5 1.13 0.44
... ... ... ...
Ich habe meine Deming-Regression durchgeführt (auch als "Total Least Squares Regression" bezeichnet) und bekomme eine Steigung und einen Achsenabschnitt. Ich möchte einen Korrelationskoeffizienten erhalten, also beginne ich mit der Berechnung des . Ich habe die Formel manuell eingegeben:
R2 <- function(coef,i,x,y,sdty){
predy <- (coef*x)+i
stdyl <- sum((y-predy)^2) ### The calculated std like if it was a lm (SSres)
Reelstdy <- sum(stdy) ### the real stdy from the data (SSres real)
disty <- sum((y-mean(y))^2) ### SS tot
R2 <- 1-(stdyl/disty) ### R2 formula
R2avecstdyconnu <- 1-(Reelstdy/disty) ### R2 with the known stdy
return(data.frame(R2, R2avecstdyconnu, stdy, Reelstdy))
}
Diese Formel funktioniert und gibt mir Ausgabe.
- Gibt es eine Möglichkeit, einen Korrelationskoeffizienten aus einer Regression des kleinsten Quadrats zu erhalten?
ERGEBNIS DER DEMING-REGRESSION:
Call:
deming(x = Data$DS, y = Data$DM, xstd = Data$SES, ystd = Data$SEM, dfbeta = T)
Coef se(coef) z p
Intercept 0.3874572 0.2249302 3.1004680 2.806415e-10
Slope 1.2546922 0.1140142 0.8450883 4.549709e-02
Scale= 0.7906686
>