2014-09-01 2 views
0

선형 모델에 꼭 맞는 데이터가 있습니다. 나는 또한 x와 y 값 모두와 관련된 오류가 있습니다.x 및 y 값의 오차가있는 선형 모델

기본적으로 나는이 같은 (같은 길이의 모든 벡터)하고 싶은 :

lm(y_data +- y_errors ~ x_data +- x_errors) 

을하지만 분명이 작동하지 않습니다.

이 (http://www.originlab.com/doc/Origin-Help/LinearFit-XErr-Dialog) 원점이 그것을 할 수있는 것 같다. 원산지가하는 것처럼

어떻게, 선형 모델을 만들기위한 X 축과 Y 오류를 사용하여 R을 알 수 있습니까?

+1

임의의 변수를, "errors-in-variables regression"에서처럼? – shadowtalker

+1

Origin 문서에서 참조를 보았습니까? 이것은 R에서 구현하기에 상대적으로 간단해야합니다. – Roland

+1

왜'+'뿐 아니라'+'입니까? – Barranka

답변

0

고려 X 및 Y는 각각 X e, Y e가,의 오차가있을 수있다. 모든 (x, y) 조합에 대해 다음 조합을 추가하고 분석하면 원하는대로 얻을 수 있습니다. Originlab 결과와 비교해보십시오.

x,y 
x-xe, y-ye 
x+xe, y+ye 
x-xe, y+ye 
x+xe, y-y2 

이 조합,

x = c(1,2,3,4) 
xe = 0.1 
y = c(12, 24, 28, 46) 
ye = 1.3 

ddf = data.frame(xx=as.numeric(), yy=as.numeric()) 
i=1 
counter=1 
while(i<(length(x)+1)){ 
    ddf[counter,]=c(x[i],y[i]) 
    ddf[counter+1,]=c(x[i]-xe,y[i]-ye) 
    ddf[counter+2,]=c(x[i]+xe,y[i]+ye) 
    ddf[counter+3,]=c(x[i]-xe,y[i]+ye) 
    ddf[counter+4,]=c(x[i]+xe,y[i]-ye) 
    counter = counter+5 
    i = i+1 
} 
ddf 
    xx yy 
1 1.0 12.0 
2 0.9 10.7 
3 1.1 13.3 
4 0.9 13.3 
5 1.1 10.7 
6 2.0 24.0 
7 1.9 22.7 
8 2.1 25.3 
9 1.9 25.3 
10 2.1 22.7 
11 3.0 28.0 
12 2.9 26.7 
13 3.1 29.3 
14 2.9 29.3 
15 3.1 26.7 
16 4.0 46.0 
17 3.9 44.7 
18 4.1 47.3 
19 3.9 47.3 
20 4.1 44.7 

그런 다음 테스트 실행 코드를 다음 시도 (데이터가 X, Y, XE 너희 교체) 얻으려면 :

with(ddf, lm(yy~xx)) 

Call: 
lm(formula = yy ~ xx) 

Coefficients: 
(Intercept)   xx 
     1.169  10.533 
+0

링크 된 문서보기 , 나는 이것이 OP가 실제로 원하는 것을 생각하지 않습니다. –

+0

originlab 결과와 비교하는 것이 흥미로울 것입니다. 어쩌면 OP는 CrossValidated에서 확인해야합니다 : http://stats.stackexchange.com/ – rnso