web-dev-qa-db-fra.com

Erreur: tentative d'application d'une non-fonction

J'essaie d'exécuter le code suivant dans R, mais j'obtiens une erreur.

Je ne sais pas quelle partie de la formule est incorrecte. Toute aide serait grandement appréciée.

> censusdata_20$AGB93 = WD * exp(-1.239 + 1.980 * log (DIAM93) + 0.207 (log(DIAM93))^2 
                        - 0.0281 (log(DIAM93))^3)
Error: attempt to apply non-function
24
Anand Roopsind

Il manque * Dans les deux derniers termes de votre expression, donc R interprète (par exemple) 0.207 (log(DIAM93))^2 comme une tentative d'appeler une fonction nommée 0.207 .. .

Par exemple:

> 1 + 2*(3)
[1] 7
> 1 + 2 (3)
Error: attempt to apply non-function

Votre expression (non reproductible) devrait se lire:

censusdata_20$AGB93 = WD * exp(-1.239 + 1.980 * log (DIAM93) + 
                              0.207* (log(DIAM93))^2  -
                              0.0281*(log(DIAM93))^3)

Mathematica est le seul système informatique que je connaisse qui permet d'utiliser la juxtaposition pour la multiplication ...

39
Ben Bolker