Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error:attempt to apply non-function

I'm trying to run the following code in R, but I'm getting an error.

I'm not sure what part of the formula is incorrect. Any help would be greatly appreciated.

> 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 
like image 624
Anand Roopsind Avatar asked May 03 '13 12:05

Anand Roopsind


1 Answers

You're missing *s in the last two terms of your expression, so R is interpreting (e.g.) 0.207 (log(DIAM93))^2 as an attempt to call a function named 0.207 ...

For example:

> 1 + 2*(3) [1] 7 > 1 + 2 (3) 

Error: attempt to apply non-function

Your (unreproducible) expression should read:

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

Mathematica is the only computer system I know of that allows juxtaposition to be used for multiplication ...

like image 118
Ben Bolker Avatar answered Sep 23 '22 02:09

Ben Bolker