2014-06-19 10 views
6

좋은 날,R : nls의 자연 대수와 방정식 사용

나는 R과 자연 로그 (ln)로 고민하고 있습니다. 첫째, R에서 ln (x) 함수를 찾을 수 없습니다. 로그 (x)가 ln (x) (계산기에서 ln (x)를 사용하는 경우)과 동일하다는 것을 알았습니다. R에서

:

ln(5) = 1.609438 
log(5) = 0.69897 

나는 (내가 3 참조 문헌에서 발견하는 방법이 정확히) R의 방정식에 맞게하기 위해 노력하고있어 :

log(5) = 1.609438 

그리고 계산기와

:

Y = A + B (X/ 305) + C (X/ 305) 2 + D LN X (305/) + F LN2 (305/ X)

올바른지 다음을 사용하는 것이다 방정식을 사용하는 R 구문?

y ~ a + b*(x/305) + c*((x/305)^2) + d*log(305/x) + f*(log(305/x))^2 

아이디어는 사전에 R.에 감사 NLS이() 함수를 사용하는 것입니다!

+1

'R에 log'은 자연 로그를 의미한다. 이것은 "일반적인"대수는 수학적 관심이 없으므로 수학자의 관례입니다. "ln"약어는 학생들에게 상황을 덜 혼란스럽게 만들기 위해 도입 된 것입니다. –

+2

'log'가 무엇인지 알아 내기 위해 계산기가 필요 없습니다. 'help ("log")'문서 만 읽으면된다. 수식이 올바른 것 같습니다. – Roland

답변

13

R에서, log은 자연 대수입니다. 계산기에서 로그는 대개 10 진 로그를 의미합니다. R에서이를 달성하려면 log10 기능을 사용할 수 있습니다.

log(5) 
## [1] 1.609438 
log10 
## [1] 0.69897(5) 

수식은 log이 자연 로그이므로 올바른 것으로 보입니다.

+0

답변 해 주셔서 감사합니다! 나는 많이 필요한만큼의 형태를 기대했다. 다시 한 번 감사드립니다! – wernerfeuer

4

또한 I는 모델

y ~ a + b*(x/305) + c*((x/305)^2) + d*log(305/x) + f*(log(305/x))^2 

계수가 선형 인 통계적 의미에서 선형임을 지적한다; x에서 선형 일 필요는 없습니다.

이 모델에 맞게 nls가 필요하지 않으므로 lm()을 사용할 수 있습니다.

그러나 I() 함수를 (x/305)^2와 같은 용어로 사용하는 것을 잊지 마십시오.

ETA 예제 :

aDF <- data.frame(x=abs(rnorm(100)), y=rnorm(100)) 
lm(y ~ 1 + I(x/305) + I((x/305)^2) + log(305/x) + I(log(305/x)^2), data=aDF)