#Create or import log transformed morphological variables per specimen #Get excel data from clipboard #SUPPLEMENTARY DATA EXCEL SHEET read.excel <- function(header=TRUE,...) { read.table("clipboard",sep="\t",header=header,...) } Biteforce=read.excel() #Generate the coefficients per each species #empty matrix first coeff <- matrix( nrow = 14, ncol = 4) colnames(coeff) <- c("intercept","ChelaL","ChelaW","ChelaH") rownames(coeff)= levels(as.factor(Biteforce$Species))[c(1,2,6,7,9,11,12,4,10,3,5,14,8,13)] for (i in 1:14) { a=subset(Biteforce,Species_number==i) fit=lm(log10(a$Maxbite)~log10(a$ChelaL)+ log10(a$ChelaH)+ log10(a$ChelaW)) coeff[i,c(1:4)]=fit$coefficients } #Create or import log transformed morphological variables per specimen #Get excel data from clipboard #SUPPLEMENTARY DATA EXCEL SHEET read.excel <- function(header=TRUE,...) { read.table("clipboard",sep="\t",header=header,...) } Biteforce_estimation=read.excel() #get the biteforce stimation per each scanned specimens Biteforceextimated=matrix( nrow = 14, ncol = 1) rownames(Biteforceextimated)=rownames(coeff) for (i in 1:14) { y=coeff[i,1]+(coeff[i,2]*log10(Biteforce_estimation[i,8])) + ( coeff[i,3]*log10(Biteforce_estimation[i,9]))+ (coeff[i,4]*log10(Biteforce_estimation[i,10])) Biteforceextimated[i]=10^y #get the complete dataset without euypterids #Get excel data from clipboard #SUPPLEMENTARY DATA EXCEL SHEET read.excel <- function(header=TRUE,...) { read.table("clipboard",sep="\t",header=header,...) } Biteforce_model=read.excel() } #get the total model without eurypterids model=lm(log10(biteforce.at.the.insertion..N.) ~log10(Volume..m3.)+ log10(Surface..m2.),data =Biteforce_model) model anova(model) #test for normality of the residuals shapiro.test(model$residuals) #test for homoschedasticity require(car) ncvTest(model) summary(model) #get the complete dataset without euypterids #Get excel data from clipboard #SUPPLEMENTARY DATA EXCEL SHEET read.excel <- function(header=TRUE,...) { read.table("clipboard",sep="\t",header=header,...) Biteforce_eurip_estimation=read.excel() } #estimating biteforce of the Eurypterid using the coefficient of "model" Y= 4.7845+ 0.317LOgVol+0.2508LogArea a= 4.7845 b= 0.317 b1= 0.2508 #Ereptotterus bilobus Y=a+b*log10(Biteforce_eurip_estimation[1,3])+b1*log10(Biteforce_eurip_estimation[1,4]) 10^Y #Jaekelopterus rhenaniae Y1=a+b*log10(Biteforce_eurip_estimation[2,3])+b1*log10(Biteforce_eurip_estimation[2,4]) 10^Y1 #Acutiramus bohemicus Y2=a+b*log10(Biteforce_eurip_estimation[3,3])+b1*log10(Biteforce_eurip_estimation[3,4]) 10^Y2 #Pterygotus anglicus Y3=a+b*log10(Biteforce_eurip_estimation[3,3])+b1*log10(Biteforce_eurip_estimation[3,4]) 10^Y3