Bonne journée,
Je me bats avec R et le logarithme naturel (ln). Premièrement, je ne trouve pas de fonction ln (x) dans R. J'ai remarqué que log (x) est identique à ln (x) (lors de l'utilisation de ln (x) avec une calculatrice).
Dans R:
log(5) = 1.609438
Et avec une calculatrice:
ln(5) = 1.609438
log(5) = 0.69897
J'essaie d'adapter une équation dans R (c'est exactement ce que j'ai trouvé dans la littérature de 3 références):
y = a + b (x/305) + c (x/305)2 + d ln (305/x) + f ln2(305/x)
Est-il correct d'utiliser la syntaxe suivante dans R pour utiliser l'équation?
y ~ a + b*(x/305) + c*((x/305)^2) + d*log(305/x) + f*(log(305/x))^2
L'idée est d'utiliser cette fonction avec nls () dans R. Merci d'avance!
Dans R, log
est le logarithme naturel. Dans les calculatrices, log signifie généralement logarithme en base 10. Pour y parvenir dans R, vous pouvez utiliser le log10
fonction.
log(5)
## [1] 1.609438
log10
## [1] 0.69897(5)
Quant à votre formule, elle semble correcte, puisque log
est le logarithme naturel.
De plus je soulignerai que votre modèle
y ~ a + b*(x/305) + c*((x/305)^2) + d*log(305/x) + f*(log(305/x))^2
est linéaire au sens statistique d'être linéaire dans les coefficients; il n'a pas besoin d'être linéaire en x.
Vous n'avez pas besoin de nls pour adapter ce modèle, vous pouvez utiliser lm ().
Mais n'oubliez pas de regarder la fonction I() pour exprimer des termes comme (x/305) ^ 2.
Exemple 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)
Dans R, log calcule les logarithmes, par défaut les logarithmes naturels, log10 calcule les logarithmes communs (c'est-à-dire base 10) et log2 calcule les logarithmes binaires (c'est-à-dire base 2). Le journal de formulaire général (x, base) calcule les logarithmes avec la base ("Documentation R")