# Brain vs body mass for mammals

Posted 2 years ago
9111 Views
|
2 Replies
|
13 Total Likes
|
 It's quite amazing that humans can abstract patterns in nature and see similarities between, for example, pigmentation of some mollusc shells and cellular automata. The amazement deepens as we discover that mathematical relations and simple programs can grasp the essence of numerous patterns. Below is an example. A "line" is one of the simplest patterns in nature and is easily caught by human eye. So it is quite miraculous to see points with coordinates (brain mass, body mass) for various mammals would suddenly arrange along a straight line in log-log coordinate system. Which right away implies a power or scaling mathematical law that is very universal in nature. It is known as Snell's equation in simple allometry due to Otto Snell (1891). It's not to be confused with Snell's law of optics due to Willebrord Snell (1621). Let's see how we can build this wonderful plot.I start from searching Wolfram Language built-in data resources for animal-related sets: ResourceSearch["animal"] Let's grab the first one: data = ResourceData["Animal Weights Sample Data"] A simple plot of brain vs body mass does not reveal anything obvious: ListPlot[Normal[data[All, {1000 #BodyWeight, #BrainWeight} &]], PlotTheme -> "Business"] And by browsing the data we see we got a few long-dead species: Interpreter["Dinosaur"][{"Diplodocus", "Triceratops", "Brachiosaurus"}]  EntityValue[%, "Image"] Let's delete these old friends and concentrate on modern species: modern = Delete[data, {{6}, {16}, {26}}]; and find equation of line passing through the log of data points: f[x_] = Fit[Log[QuantityMagnitude[ Normal[modern[All, {1000 #BodyWeight, #BrainWeight} &]]]], {1, x},x] Out[]= -3.04602 + 0.752261 x Getting it back into Snell's equation power-from I get: eq = Rationalize[BRAIN ≈ First[BRAIN /. Solve[(f[x] /. x -> Log[BODY]) == Log[BRAIN], BRAIN]], .01] And now to make the final plot above we use ListLogLogPlot: Show[ ListLogLogPlot[Normal[modern[All,Callout[{1000#BodyWeight,#BrainWeight},#Species]&]], PlotTheme->"Detailed",AspectRatio->1], Plot[f[x],{x,3,16},PlotStyle->Directive[Red,Dashed,Opacity[.8]]], BaseStyle->13, PlotLabel->Style["brain vs body mass for mammals",25,Darker[Red],FontFamily->"Phosphate"], FrameLabel->{"Body Weight, g","Brain Weight, g"}, Epilog->Inset[Style[eq,18,Red],Scaled[{.2,.8}]] ] Of course, the mathematical formula is just an approximation and the constants change slightly for a different set of animals. For instance, according to Harry J. Jerison (UCLA):
2 Replies
Sort By:
Posted 2 years ago
 Well done :) That's really an interesting question
Posted 2 years ago
 Grey Wolf and sheep appears almost on a same level in red dash line. But only wolf eat the sheep in nature. I think this function might underestimate the intellegence of wolf.
Community posts can be styled and formatted using the Markdown syntax.