Data description

Our dataset is composed by 263 individuals and 16 variables, including ID, Sex, 4 Morphological or non-metric (x2 for left and right side) and 3 Euclidian distance or metric (x2 for left and right side).

# Read dataset
inventory <- read.csv("./DistalHumeriData.csv", na.strings = '')
str(inventory) # structure of dataset
## 'data.frame':    263 obs. of  16 variables:
##  $ ID                    : Factor w/ 263 levels "CEIXXI001","CEIXXI002",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ Sex                   : Factor w/ 2 levels "F","M": 1 1 1 1 1 2 1 1 2 1 ...
##  $ TrochlearConstructionL: Factor w/ 3 levels "F","M","U": 1 1 2 1 1 2 2 1 2 NA ...
##  $ TrochlearSymmetryL    : Factor w/ 3 levels "F","M","U": 2 3 3 1 3 2 NA 3 2 NA ...
##  $ OleacronFossaShapeL   : Factor w/ 3 levels "F","M","U": 3 1 1 1 1 2 1 2 2 1 ...
##  $ AngleMedialEpycondyleL: Factor w/ 3 levels "F","M","U": 3 NA NA NA 1 2 NA NA 2 NA ...
##  $ TrochlearConstructionR: Factor w/ 3 levels "F","M","U": 1 1 NA 1 NA 2 2 NA 2 2 ...
##  $ TrochlearSymmetryR    : Factor w/ 3 levels "F","M","U": 2 1 NA 1 NA 2 1 NA 3 1 ...
##  $ OleacronFossaShapeR   : Factor w/ 3 levels "F","M","U": 2 1 NA 1 NA 3 NA NA 3 1 ...
##  $ AngleMedialEpycondyleR: Factor w/ 3 levels "F","M","U": 2 2 NA 1 NA 2 3 NA 2 1 ...
##  $ MaxCondL              : int  52 47 47 44 51 67 40 47 65 40 ...
##  $ CapitulumPosteriorL   : int  23 22 NA NA 23 28 23 24 28 NA ...
##  $ CapitulumAnteriorL    : int  37 37 NA 35 36 47 NA 36 46 NA ...
##  $ MaxCondR              : int  44 51 NA NA NA 69 50 NA 64 53 ...
##  $ CapitulumPosteriorR   : int  24 23 NA NA NA 28 26 NA 29 24 ...
##  $ CapitulumAnteriorR    : int  NA 37 NA NA NA 47 NA NA 44 39 ...
inventoryL <- inventory[,c(2:6,11:13)] # Extracting left side variables
inventoryR <- inventory[,c(2,7:10,14:16)] # Extracting right side variables

However, data could not be colected for many individuals. There are also more left humeri than right ones. NA abound in the dataset, so we will remove these per-variable, because if we only considered complete rows, our n would be drastically reduced.

Non-metric Graphic Analysis

In the morphological variables we consider F as the female morphotype, U (undeterminated) as an intermediate or non-discriminative morhotype, and M as the male morphotype.

Trochlear Construction

library(ggplot2)
TCL <- na.omit(inventoryL[, c("Sex", "TrochlearConstructionL")]) # Remove NAs
g1 <- ggplot(TCL, aes(x = TrochlearConstructionL, fill = Sex)) + geom_bar() +  theme_minimal()

TCR <- na.omit(inventoryR[, c("Sex", "TrochlearConstructionR")]) # Remove NAs
g2 <- ggplot(TCR, aes(x = TrochlearConstructionR, fill = Sex)) + geom_bar() + theme_minimal()

library(gridExtra)
grid.arrange(g1, g2, ncol = 2)

Trochlear Symmetry

TSL <- na.omit(inventoryL[, c("Sex", "TrochlearSymmetryL")]) # Remove NAs
g3 <- ggplot(TSL, aes(x = TrochlearSymmetryL, fill = Sex)) + geom_bar() +  theme_minimal()

TSR <- na.omit(inventoryR[, c("Sex", "TrochlearSymmetryR")]) # Remove NAs
g4 <- ggplot(TSR, aes(x = TrochlearSymmetryR, fill = Sex)) + geom_bar() + theme_minimal()

grid.arrange(g3, g4, ncol = 2)

Oleacron Fossa Shape

OFSL <- na.omit(inventoryL[, c("Sex", "OleacronFossaShapeL")]) # Remove NAs
g5 <- ggplot(OFSL, aes(x = OleacronFossaShapeL, fill = Sex)) + geom_bar() +  theme_minimal()

OFSR <- na.omit(inventoryR[, c("Sex", "OleacronFossaShapeR")]) # Remove NAs
g6 <- ggplot(OFSR, aes(x = OleacronFossaShapeR, fill = Sex)) + geom_bar() + theme_minimal()

grid.arrange(g5, g6, ncol = 2)

Angle of Medial Epycondyle

AMEL <- na.omit(inventoryL[, c("Sex", "AngleMedialEpycondyleL")]) # Remove NAs
g7 <- ggplot(AMEL, aes(x = AngleMedialEpycondyleL, fill = Sex)) + geom_bar() +  theme_minimal()

AMER <- na.omit(inventoryR[, c("Sex", "AngleMedialEpycondyleR")]) # Remove NAs
g8 <- ggplot(AMER, aes(x = AngleMedialEpycondyleR, fill = Sex)) + geom_bar() + theme_minimal()

grid.arrange(g7, g8, ncol = 2)