문제

내 데이터 세트가 매우 크므로 10 개의 데이터 라인을 예로 사용합니다 (Excel에서 응답을 해결했지만 코드에 도움이 필요할 때 R-replicate에서 복제 할 수 없습니다). < / P>

constant<-c(6.10,5.12,5.04,4.97,4.89,4.89,4.87,4.87,4.88,4.99)
years.star<-c(219.87,153.69,146.19,139.35,127.27,127.27,121.91,121.91,112.28,99.98)
years.sq.star<-c(7915.41,4610.71,4239.78,3901.93,3309.27,3309.27,3047.95,3047.95,2582.58,1999.62)
ln.salary<-c(28.43,23.12,21.59,21.44,22.71,23.33,20.29,21.76,21.48,22.92)

try<-data.frame(constant,years.star,years.sq.star,ln.salary)
.

ln.Salary는 종속 변수입니다. 당신이 받아야 할 대답은 다음과 같습니다 :

intercept-  6.474922
beta1-      -0.15026
beta2-      0.002769
.

내 문제는 r에서 LM 함수를 사용하면 차단 값이 위의 값이 있음을 알지 못합니다. 그것은 단지 6.10,5.12 등 대신 1,1,1,1,1,1,1,1,1,12를 사용합니다

그래서 test<-lm(ln.salary~years.star+years.sq.star,data=try,weights=constant)

이 답변을 생성하기 때문에 작동하지 않습니다 :

intercept-   207.1706
beta1-       -3.13214
beta2-        0.064416
.

본질적으로 데이터를 가져 와서 heteroscavediatistity를 조정하려고했습니다. 마지막 단계에서는 내 일정한 별과 내 변형 된 X 변수가 있습니다. 마지막 단계는 상수와 x 변수에 ln.Salary를 회귀시키는 것입니다.

나는 Excel에서 그것을 할 수 있지만 r에서는 그렇지 않아서 코드를 오른쪽으로 가져 오지 않는다는 것을 알고 있습니다. 인터셉트를 생성하는 LM 기능이 문제가 있습니다 (1,1,1 ...). 제발 도와 주시겠습니까?

종류의 D

도움이 되었습니까?

해결책

각 행에 대해 "가로 챈"을 변경하려면 '무게'가 아닌 '오프셋'을 사용해야합니다.

 test<-lm(ln.salary~years.star+years.sq.star+0,data=try,offset=constant)

Call:
lm(formula = ln.salary ~ years.star + years.sq.star + 0, data = try, 
    offset = constant)

Coefficients:
   years.star  years.sq.star  
     0.236355      -0.003881  
.

나는 이것이 Excel에 동의하지 않는다는 사실에 너무 깊은 인상을받지 못했습니다.그 프로그램의 선형 회귀 프로그램은 다소 플레이크로 알려져 있습니다.다른 한편으로는 무게를 사용해야합니다. 그런 다음 용어의 3 가지 다른 해석 중 어느 것이 사용되고 있는지 명확히해야합니다.선택 (선택 사항 : 복제, 샘플링, 역 차이)."무게"의 lm 해석은 역 차단 버전입니다.(그 도움말 페이지는 "분산에 반비례 함)이므로"상수 "-Terms가 차이가 있으면 다음을 원할 것입니다.

> (test<-lm(ln.salary~years.star+years.sq.star+0, data=try, weights=1/constant) )

Call:
lm(formula = ln.salary ~ years.star + years.sq.star + 0, data = try, 
    weights = 1/constant)

Coefficients:
   years.star  years.sq.star  
     0.309391      -0.005189  
.

다른 팁

특정 상수에서 가로 촬영을 "수정"하고 싶다면 응답에서 해당 상수의 값을 빼서 절편 모델을 끼 웁니다.예를 들어

test <- lm( ln.salary - 6.474922 ~ years.star + years.sq.star + 0,
    data=try, weights=constant)
.

여기서는 차단 용어를 뺀 다음, 가로 촬영 용어에 맞지 않도록 수식에 +0를 추가합니다.그 모델을 사용하면

를 얻습니다
Call:
lm(formula = ln.salary - 6.474922 ~ years.star + years.sq.star + 
    0, data = try, weights = constant)

Coefficients:
   years.star  years.sq.star  
     0.197384      -0.002842  
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top