hr <- read.table(file='/Users/spardo/Desktop/datos/distancia_jaccard.csv', sep=';', header=T, row.names=1)
gr <- read.table(file='/Users/spardo/Desktop/datos/Eucludi_distance.csv', sep=';', header=T, row.names=1)
hgr <- mantel(as.matrix(hr), as.matrix(gr), method = "pearson", permutations=10000)
plot(hr[lower.tri(hr)], gr[lower.tri(gr)],xlab="cultural distance",ylab="geographical distance",pch=19)
plot(hgr$perm,xlab="number of permutations", ylab="Mantel correlation",main="Mantel test results")
plot(hgr$perm,xlab="number of permutations", ylab="Mantel correlation",main="Mantel test results",hline=0.005)
hgr
abline(h=-0.008155)
abline(h=-0.008155,color="red")
abline(h=-0.008155,color=red)
abline(h=-0.008155,colour="red")
abline(h=-0.008155,col="red")
plot(hgr$perm,xlab="number of permutations", ylab="Mantel correlation",main="Mantel test results") + abline(h=hgr$statistic)
plot(hgr$perm,xlab="number of permutations", ylab="Mantel correlation",main="Mantel test results") + abline(h=hgr$statistic,col=red)
plot(hgr$perm,xlab="number of permutations", ylab="Mantel correlation",main="Mantel test results") + abline(h=hgr$statistic,col="red")
plot(hgr$perm,xlab="number of permutations", ylab="Mantel correlation",main="Mantel test results",sub = "r = -0.008 p.value =0.51") + abline(h=hgr$statistic,col="red")
datos <- read.csv("~/Desktop/datos/datos.csv", sep=";")
View(datos)
distMat<-function(data)
{
require(argosfilter)
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
if(i!=j){
res[i,j]<-distance(lat1=data$y[i],lat2=data$y[j],lon1=data$x[i],lon2=data$x[j])
}
}
}
res[is.nan(res)]=0
return(as.dist(res))
}
distMat(datos)
datos <- read.csv("~/Desktop/datos/datos.csv", sep=";")
View(datos)
distMat<-function(data)
{
require(argosfilter)
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
if(i!=j){
res[i,j]<-distance(lat1=data$y[i],lat2=data$y[j],lon1=data$x[i],lon2=data$x[j])
}
}
}
res[is.nan(res)]=0
return(as.dist(res))
}
distMat(datos)
install.packages("argosfilter")
distMat<-function(data)
{
require(argosfilter)
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
if(i!=j){
res[i,j]<-distance(lat1=data$y[i],lat2=data$y[j],lon1=data$x[i],lon2=data$x[j])
}
}
}
res[is.nan(res)]=0
return(as.dist(res))
}
distMat(datos)
datos <- data
data <- read.csv("~/Desktop/datos/datos.csv", sep=";")
View(data)
distMat<-function(data)
{
require(argosfilter)
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
if(i!=j){
res[i,j]<-distance(lat1=data$y[i],lat2=data$y[j],lon1=data$x[i],lon2=data$x[j])
}
}
}
res[is.nan(res)]=0
return(as.dist(res))
}
distMat(data)
View(data)
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONNG[x],data$LONG[1]))
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONNG[x],data$LONG[1]))
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONG[x],data$LONG[1]))
d
#Compute Great Arc Distances
distMat<-function(data)
{
require(argosfilter)
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
if(i!=j){
res[i,j]<-distance(lat1=data$LAT[i],lat2=data$LAT[j],lon1=data$LONG[i],lon2=data$LONG[j])
}
}
}
res[is.nan(res)]=0
return(as.dist(res))
}
s <- distMAT(data)
s <- distMat(data)
s
write.csv(s,file="great_salva.csv")
salva <- as.data.frame(s)
library(MASS)
salva <- as.matrix(s)
View(salva)
salvados <- as.matrix(d)
View(salvados)
View(salva)
View(salvados)
write.csv(salva, file="great_salva.csv")
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONG[x],data$LONG[1]) )
d <- setNames(do.call(rbind.data.frame,combn(1:nrow(data),2,simplify=F)),c('p1','p2'));
View(d)
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONG[x],data$LONG[1]))
d <- setNames(do.call(rbind.data.frame,combn(1:nrow(data),2,simplify=F)),c('site1','site2'))
d$dist <- sapply(1:nrow(d), function(r) distance(data$LAT[d$p1[r]],data$LAT[d$p2[r]],
data$LONG[d$p1[r]],data$LONG[d$p2[r]]))
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONG[x],data$LONG[1]))
d <- setNames(do.call(rbind.data.frame,combn(1:nrow(data),2,simplify=F)),c('site1','site2'))
d$dist <- sapply(1:nrow(d), function(r) distance(data$LAT[d$p1[r]],data$LAT[d$p2[r]],data$LONG[d$p1[r]],data$LONG[d$p2[r]]))
d$dist <- sapply(1:nrow(d), function(r) distance(data$LAT[d$site1[r]],data$LAT[d$site2[r]],data$LONG[d$site1[r]],data$LONG[d$site2[r]]))
View(d)
as.matrix(d)
library(vegan)
hr <- read.table(file='/Users/spardo/Desktop/datos/distancia_jaccard.csv', sep=';', header=T, row.names=1)
gr <- read.table(file='/Users/spardo/Desktop/datos/Eucludi_distance.csv', sep=';', header=T, row.names=1)
hgr <- mantel(as.matrix(hr), as.matrix(gr), method = "pearson", permutations=10000)
hgr
data <- read.csv("~/Desktop/datos/coordenadas.csv", sep=";")
View(data)
data <- as.matrix(data)
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONG[x],data$LONG[1]))
data <- as.data.frame(data)
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONG[x],data$LONG[1]))
d
plot(d)
d <- setNames(do.call(rbind.data.frame,combn(1:nrow(data),2,simplify=F)),c('site1','site2'))
d
dd <- as.matrix(d)
View(dd)
d$dist <- sapply(1:nrow(d), function(r) distance(data$LAT[d$site1[r]],data$LAT[d$site2[r]],data$LONG[d$site1[r]],data$LONG[d$site2[r]]))
View(d)
salva <- d$dist <- sapply(1:nrow(d), function(r) distance(data$LAT[d$site1[r]],data$LAT[d$site2[r]],data$LONG[d$site1[r]],data$LONG[d$site2[r]]))
plot(salva)
as.matrix(salva)
d <- sapply(2:nrow(data), function(x) distance(data$LAT[x],data$LAT[1],data$LONG[x],data$LONG[1]))
d$dist <- sapply(1:nrow(d), function(r) distance(data$LAT[d$site1[r]],data$LAT[d$site2[r]],data$LONG[d$site1[r]],data$LONG[d$site2[r]]))
GreatArc <- function(data)
{
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
if(i!=j){
res[i,j]<-distance(data$LAT[i],data$LAT[j],data$LONG[i],data$LONG[j])
}
}
}
res[is.nan(res)]=0
return(as.dist(res))
}
data(GreatArc)
GreatArc(data)
GreatArc <- function(data)
{
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
res[i,j]<-distance(data$LAT[i],data$LAT[j],data$LONG[i],data$LONG[j])
}
}
res[is.nan(res)]=0
return(as.dist(res))
}
GreatArc(data)
GreatArc <- function(data)
{
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
res[i,j]<-distance(data$LAT[i],data$LAT[j],data$LONG[i],data$LONG[j])
}
}
res[is.nan(res)]=0
return(as.dist(res))
}
GreatArc(data)
GreatArc <- function(data)
{
res<-matrix(0,nrow=dim(data)[1],ncol=dim(data)[1])
for (i in 1:dim(data)[1])
{
for (j in 1:dim(data)[1])
{
res[i,j]<-distance(data$LAT[i],data$LAT[j],data$LONG[i],data$LONG[j])
}
}
res[is.nan(res)]=0
return(as.matrix(res))
}
GreatArc(data)
knitr::opts_chunk$set(echo = TRUE)
```{r}
library(vegan)
library(proxy)
library(MASS)
library(e1071)
library(ggplot2)
library(scales)
library(grid)
library(ape)
setwd("/Users/spardo/Desktop/branching_paper")
getwd()
Neo_sites <- read.csv("cultural_items.csv", sep=";")
Datos <- read.csv("cultural_items.csv", header = T, sep=";")
Datos <- read.csv("cultural_items.csv", sep=";")
knitr::opts_chunk$set(echo = TRUE)
library(vegan)
library(proxy)
library(MASS)
library(e1071)
library(ggplot2)
library(scales)
library(grid)
library(ape)
setwd("/Users/spardo/Desktop/branching_paper")
knitr::opts_chunk$set(echo = TRUE)
library(vegan)
library(proxy)
library(MASS)
library(e1071)
library(ggplot2)
library(scales)
library(grid)
library(ape)
setwd("/Users/spardo/Desktop/branching_paper")
getwd()
Neo_sites <- read.csv("cultural_items.csv", sep=";")
View(Neo_sites)
Neo_sites_mat <- as.matrix(Neo_sites[,-1])
row.names(Neo_sites_mat) = Neo_sites[,1]
View(Neo_sites)
View(Neo_sites_mat)
View(Neo_sites)
Neo_sites <- read.csv("cultural_items.csv", sep=";")
setwd("/Users/spardo/Desktop/branching_paper")
getwd()
knitr::opts_chunk$set(echo = TRUE)
library(vegan)
library(proxy)
library(MASS)
library(e1071)
library(ggplot2)
library(scales)
library(grid)
library(ape)
setwd("/Users/spardo/Desktop/branching_paper")
getwd()
Neo_sites <- read.csv("cultural_items.csv", sep=";")
Neo_sites_mat <- as.matrix(Neo_sites[,-1:2])
Neo_sites <- read.csv("cultural_items.csv", sep=";")
Neo_sites_mat <- as.matrix(Neo_sites[,-1])
row.names(Neo_sites_mat) = Neo_sites[,1]
View(Neo_sites_mat)
Distance_sites <- dist(Neo_sites_mat, method = "Jaccard")
delta.plot <- function (X, k = 10)
{
if (is.matrix(X))
X <- as.dist(X)
n <- attr(X, "Size")
if (n < 4)
stop("need at least 1 quartet following Holland et al. 2002")
ans <- .C(delta_plot, as.double(X), as.integer(n), as.integer(k),
integer(k + 1), double(n), NAOK = TRUE)
counts_quartet <- ans[[4]]
counts_quartet[k] <- counts_quartet[k] + counts_quartet[k + 1]
counts_quartet <- counts_quartet[-(k + 1)]
delta.sites <- ans[[5]]/choose(n - 1, 3)
invisible(list(counts_quartet = counts_quartet, delta.sites = delta.sites))
}
hs <- Distance_sites
class(hs)
delta_hs <- delta.plot(hs)
mean_delta <- mean(delta_hs$delta.sites)
delta_count <- delta_hs$counts_quartet
values <- c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1) # labels to deltaplot bar
general_plot <- cbind(values,delta_count)
general_plot
delta_site <- delta_hs$delta.sites
namesites <- levels(Neo_sites[,1]) # labels to deltasite
sites_plot <- cbind(namesites,delta_site)
general_plot <- as.data.frame(general_plot)
plot_bar <- ggplot(general_plot, aes(values, delta_count)) + theme_bw(base_size=10)
plot_bar <- plot_bar + geom_bar(stat = "identity")
plot_bar <- plot_bar + geom_vline(xintercept= mean_delta, colour="red")
plot_bar <- plot_bar + labs(x="Delta score results", y="Number of quartets")
plot_bar <- plot_bar + ggtitle("Distribution Delta score Neolithic sites")
plot_bar <- plot_bar + theme(plot.title = element_text(lineheight=.8, face="bold", hjust = 0.5))
plot_bar
sites_plot <- as.data.frame(sites_plot)
sites_plot$delta_site=as.numeric(levels(sites_plot$delta_site)) [sites_plot$delta_site]
min_graph <- min(delta_site)
min_graph <- min_graph - 0.1
min_graph <- round(min_graph,1)
max_graph <- max(delta_site)
max_graph <- max_graph + 0.1
max_graph <- round(max_graph,1)
mean_graph <- (min_graph + max_graph) / 2
mean_graph <- round(mean_graph,1)
plot_site <- ggplot(sites_plot, aes(namesites, delta_site)) + theme_bw(base_size=10)
plot_site <- plot_site + geom_line(aes(group = 1)) + geom_point(aes(group = 1))
plot_site <- plot_site + theme(axis.text.x = element_text(angle = 90, hjust = 1))
plot_site <- plot_site + scale_y_continuous(limits=c(min_graph ,max_graph), breaks= c(min_graph,max_graph))
plot_site <- plot_site + geom_hline(yintercept= mean_delta, colour="red")
plot_site <- plot_site + geom_smooth(aes(group=1), method = "loess",lty="dashed",colour='blue', size=0.4, se=TRUE, level=.95, alpha=.2, fill = "grey")
plot_site <- plot_site + labs(x="Sites ordered by regions", y="Delta score by sites")
plot_site <- plot_site + ggtitle("Distribution Delta score by sites")
plot_site <- plot_site + theme(plot.title = element_text(lineheight=.8, face="bold", hjust = 0.5))
plot_site
GreatArc <- function(coordenadas)
{
resultat_geo<-matrix(0,nrow=dim(coordenadas)[1],ncol=dim(coordenadas)[1])
for (i in 1:dim(coordenadas)[1])
{for (j in 1:dim(coordenadas)[1])
{ resultat_geo[i,j]<-distance(coordenadas$LAT[i],coordenadas$LAT[j],coordenadas$LONG[i],coordenadas$LONG[j])}
}
resultat_geo[is.nan(res)]=0
return(as.matrix(res))
}
coordenadas <- read.csv("coordenadas.csv", sep=";")
geo_distance <- GreatArc(coordenadas)
distance?
?
??distance
GreatArc <- function(coordenadas)
{
resultat_geo<-matrix(0,nrow=dim(coordenadas)[1],ncol=dim(coordenadas)[1])
for (i in 1:dim(coordenadas)[1])
{for (j in 1:dim(coordenadas)[1])
{ resultat_geo[i,j]<-distance(coordenadas$LAT[i],coordenadas$LAT[j],coordenadas$LONG[i],coordenadas$LONG[j])}
}
resultat_geo[is.nan(resultat_geo)]=0
return(as.matrix(resultat_geo))
}
geo_distance <- GreatArc(coordenadas)
argosfilter::distance
function (lat1, lat2, lon1, lon2)
{
if (lat1 == lat2 & lon1 == lon2)
distance <- 0
else {
rlat1 = radian(lat1)
rlat2 = radian(lat2)
rlon = radian(lon2 - lon1)
distance <- 60 * (180/pi) * acos(sin(rlat1) * sin(rlat2) +
cos(rlat1) * cos(rlat2) * cos(rlon))
distance <- distance * 1852/1000
}
distance
}
geo_distance <- GreatArc(coordenadas)
earthDist <- function (lon1, lat1, lon2, lat2){
rad <- pi/180
a1 <- lat1 * rad
a2 <- lon1 * rad
b1 <- lat2 * rad
b2 <- lon2 * rad
dlon <- b2 - a2
dlat <- b1 - a1
a <- (sin(dlat/2))^2 + cos(a1) * cos(b1) * (sin(dlon/2))^2
c <- 2 * atan2(sqrt(a), sqrt(1 - a))
R <- 6378.145
d <- R * c
return(d)
}
GreatArc <- function(coordenadas)
{
resultat_geo<-matrix(0,nrow=dim(coordenadas)[1],ncol=dim(coordenadas)[1])
for (i in 1:dim(coordenadas)[1])
{for (j in 1:dim(coordenadas)[1])
{ resultat_geo[i,j]<-earthDist(coordenadas$LAT[i],coordenadas$LAT[j],coordenadas$LONG[i],coordenadas$LONG[j])}
}
resultat_geo[is.nan(resultat_geo)]=0
return(as.matrix(resultat_geo))
}
geo_distance <- GreatArc(coordenadas)
View(geo_distance)
library(argosfilter)
GreatArc <- function(coordenadas)
{
resultat_geo<-matrix(0,nrow=dim(coordenadas)[1],ncol=dim(coordenadas)[1])
for (i in 1:dim(coordenadas)[1])
{for (j in 1:dim(coordenadas)[1])
{ resultat_geo[i,j]<-distance(coordenadas$LAT[i],coordenadas$LAT[j],coordenadas$LONG[i],coordenadas$LONG[j])}
}
resultat_geo[is.nan(resultat_geo)]=0
return(as.matrix(resultat_geo))
}
geo_distance <- GreatArc(coordenadas)
geo_distance
hs
row.names(geo_distance) = Neo_sites[,1]
geo_distance
row.names(geo_distance) = hs[1,]
colnames(geo_distance) = hs[1,]
geo_distance <- GreatArc(coordenadas)
row.names(geo_distance) = Neo_sites[,1]
Distance_sites
colnames(geo_distance) = Distance_sites[1,]
colnames(geo_distance) = Distance_sites
colnames(geo_distance) = Neo_sites[,1]
geo_distance
hr <- Distance_sites
gr <- geo_distance
hr
gr
hgr <- mantel(as.matrix(hr), as.matrix(gr), method = "pearson", permutations=10000)
hgr
library(bootstrap)
hgr$signif
hgr$perm
boott(hgr$statistic,mean,0.2,nboott=1000,per=c(0.025,0.975))$confpoint
boott(hgr$perm,mean,0.2,nboott=1000,per=c(0.025,0.975))$confpoint
boott(hgr$statistic,mean,0.2,nboott=1000,per=c(0.025,0.975))$confpoint
hgr$permutations,
hgr$permutations
hgr$perm
boott(hgr$perm,mean,0.2,nboott=1000,per=c(0.025,0.975))$confpoint
boott(hgr$perm,nboott=1000,per=c(0.025,0.975))$confpoint
boott(hgr$perm,mean,nboott=1000,per=c(0.025,0.975))$confpoint
plot(hgr$perm)
knitr::opts_chunk$set(echo = TRUE)
library(vegan)
library(proxy)
library(argosfilter)
library(MASS)
library(ggplot2)
library(scales)
library(grid)
library(ape)
setwd("/Users/spardo/Desktop/branching_paper")
getwd()
Neo_sites <- read.csv("cultural_items.csv", sep=";")
Neo_sites_mat <- as.matrix(Neo_sites[,-1])
row.names(Neo_sites_mat) = Neo_sites[,1]
Distance_sites <- dist(Neo_sites_mat, method = "Jaccard")
delta.plot <- function (X, k = 10)
{
if (is.matrix(X))
X <- as.dist(X)
n <- attr(X, "Size")
if (n < 4)
stop("need at least 1 quartet following Holland et al. 2002")
ans <- .C(delta_plot, as.double(X), as.integer(n), as.integer(k),
integer(k + 1), double(n), NAOK = TRUE)
counts_quartet <- ans[[4]]
counts_quartet[k] <- counts_quartet[k] + counts_quartet[k + 1]
counts_quartet <- counts_quartet[-(k + 1)]
delta.sites <- ans[[5]]/choose(n - 1, 3)
invisible(list(counts_quartet = counts_quartet, delta.sites = delta.sites))
}
hs <- Distance_sites
class(hs)
delta_hs <- delta.plot(hs)
mean_delta <- mean(delta_hs$delta.sites)
GreatArc <- function(coordenadas)
{
resultat_geo<-matrix(0,nrow=dim(coordenadas)[1],ncol=dim(coordenadas)[1])
for (i in 1:dim(coordenadas)[1])
{for (j in 1:dim(coordenadas)[1])
{ resultat_geo[i,j]<-distance(coordenadas$LAT[i],coordenadas$LAT[j],coordenadas$LONG[i],coordenadas$LONG[j])}
}
resultat_geo[is.nan(resultat_geo)]=0
return(as.matrix(resultat_geo))
}
coordenadas <- read.csv("coordenadas.csv", sep=";")
geo_distance <- GreatArc(coordenadas)
# insert names to distance matrix
row.names(geo_distance) = Neo_sites[,1]
colnames(geo_distance) = Neo_sites[,1]
hr <- Distance_sites
gr <- geo_distance
hgr <- mantel(as.matrix(hr), as.matrix(gr), method = "pearson", permutations=10000)
intervals_confiança <- boott(hgr$perm,mean,nboott=1000,per=c(0.025,0.975))$confpoint
library(bootstrap)
intervals_confiança <- boott(hgr$perm,mean,nboott=1000,per=c(0.025,0.975))$confpoint
intervals_confiança
save.image("Statistics_branching_JASReport.RData")
cite("argosfilter")
citation(package = "argosfilter")
