-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathboxturtle_settings.R
More file actions
149 lines (131 loc) · 5.97 KB
/
boxturtle_settings.R
File metadata and controls
149 lines (131 loc) · 5.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# create view-specific settings
if(view=="dor"){
shape_cols<-c(2:57)
shape<-data_all[,shape_cols]
cs_metadata_col<-2
conx<-c(1,8,9,8,10,12,10,11,13,12,13,19:28,15,14,14,16,18,16,17,15,17,7,6,5,4,3,2,1,2,9,11) #for drawing outlines
m<-length(shape_cols)/2
PCc<-5 # Number of PCs with repeatability > 0.9
thresh<-0.07 #dorsal view
r1<-0
}
if(view=="lat"){
shape_cols<-c(59:146)
shape<-data_all[,shape_cols]
cs_metadata_col<-3
conx<-c(1:2,13:40,3,41:44,4:12,1)
m<-length(shape_cols)/2
PCc<-9 # Number of PCs with repeatability > 0.9
thresh<-0.085 #lateral view
r1<-0
#etc
}
if(view=="pos"){
shape_cols<-c(148:213)
shape<-data_all[,shape_cols]
cs_metadata_col<-4
conx<-c(1:3,10:17,4,18:25,5,26:33,6:9,1)
m<-length(shape_cols)/2
PCc<-13 # Number of PCs with repeatability > 0.9
thresh<-0.08 #posterior view
r1<-180
#etc
}
# # Allometry: load --------------------------------------------------------------------
# # Pull the specimens meant for allometry analyses
# # Set filter criteria
# filtersize<-which(data_uni$size_set=="yes")
# # Make dataset and metadataset, remove specimens missing data for a given view
# size_metadata<-makemetadata(data_uni,shape,filtersize,metadata_columns)
# size_set<-shape[filtersize,] %>% na.omit() #make shape matrix
# Sexual Dimorphism: load -----------------------------------------------------------------
setwd(paste(datadir,"../data-output/",sep="/"))
#set filter criteria
filterdim<-which(data_uni$dim_set=="yes")
#make dataset and metadataset, remove specimens missing for that view
if(length(which(is.na(shape[filterdim,1])))>=1){
dim_metadata<-data_uni[filterdim,metadata_columns] %>%
.[-which(is.na(shape[filterdim,1])),]
} else {
dim_metadata<-data_uni[filterdim,metadata_columns]
}
dim_set<-shape[filterdim,] %>% na.omit()
dim_metadata<-droplevels(dim_metadata)
dim.gpa<-arrayspecs(dim_set,p=ncol(dim_set)/2,k=2) %>% gpagen
dim.gdf<-geomorph.data.frame(dim.gpa,
sex=dim_metadata$sex,ssp=dim_metadata$ssp)
dim.gdf$Csize<-dim_metadata[,cs_metadata_col]
# Subspecies: load --------------------------------------------------------------
# pull specimens meant for ssp analyses
filterssp<-which(data_uni$ssp_set=="yes")
# make dataset and metadataset, remove specimens missing for that view
if(length(which(is.na(shape[filterssp,1])))>=1){
ssp_metadata<-data_uni[filterssp,metadata_columns] %>%
.[-which(is.na(shape[filterssp,1])),]
} else {
ssp_metadata<-data_uni[filterssp,metadata_columns]
}
ssp_set<-shape[filterssp,] %>% na.omit()
ssp_all<-ssp_set #save for later
ssp_all_metadata<-ssp_metadata #save for later
#use only specimens with spatial data (latitude & longitude), can change back later
no.space<-which(is.na(ssp_metadata$latitude))
ssp_set<-ssp_set[-no.space,]
ssp_metadata<-ssp_metadata[-no.space,]
ssp_metadata$latitude<-ssp_metadata$latitude %>% as.character %>% as.numeric #%>% cut(.,100)
ssp_metadata$longitude<-ssp_metadata$longitude %>% as.character %>% as.numeric %>% abs(.) * -1
# make geomorph object for ssp dataset
ssp.gpa<-arrayspecs(ssp_set,p=ncol(ssp_set)/2,k=2) %>% gpagen
ssp.gdf<-geomorph.data.frame(ssp.gpa,ssp=ssp_metadata$ssp,
latitude=ssp_metadata$latitude,
longitude=ssp_metadata$longitude,
sex=ssp_metadata$sex)
ssp.gdf$Csize<-ssp_metadata[,cs_metadata_col]
#
# ssp.gpa2<-arrayspecs(ssp_set[which(ssp_metadata$ssp!="bauri"),],p=ncol(ssp_set)/2,k=2) %>% gpagen
# ssp.gdf2<-geomorph.data.frame(ssp.gpa2,ssp=ssp_metadata$ssp[which(ssp_metadata$ssp!="bauri")],
# latitude=ssp_metadata$latitude[which(ssp_metadata$ssp!="bauri")],
# longitude=ssp_metadata$longitude[which(ssp_metadata$ssp!="bauri")],
# sex=ssp_metadata$sex[which(ssp_metadata$ssp!="bauri")])
# ssp.gdf2$Csize<-ssp_metadata[which(ssp_metadata$ssp!="bauri"),cs_metadata_col]
# Fossils: load -------------------------------------------------------------
#pull specimens meant for fossil analyses
#set filter criteria
filterfos<-which(data_uni$fos_set=="yes"&
data_uni$id!="TMM933-3325"&
data_uni$id!="TMM933-5680"&
data_uni$id!="SCSM2004.01.247"&
data_uni$id!="UF23828"&
data_uni$id!="TMM30967-660")
#TMM933-3325 too deformed?
#TMM933-5680: it's not 100% clear to me that the shell is closed up. Excluded.
#UF23828: same as TMM933-5680?
#SCSM2004.1.247: same as TMM933-5650
#TMM90367-660 looks a little odd: oddly fat. But is it biological or taphonomic?
#make dataset and metadataset, remove specimens missing for that view
if(length(which(is.na(shape[filterfos,1])))>=1){
fos_metadata<-data_uni[filterfos,metadata_columns] %>%
.[-which(is.na(shape[filterfos,1])),]
} else {
fos_metadata<-data_uni[filterfos,metadata_columns]
}
fos_set<-shape[filterfos,] %>% na.omit()
fos_metadata<-droplevels(fos_metadata)
dim(fos_set)
dim(fos_metadata)
# create some alternate codes
fos_metadata$site2<-fos_metadata$site
levels(fos_metadata$site2)<-c(levels(fos_metadata$site2),"holocene","camelot2","ingleside2","haile2")
fos_metadata$site2[which(fos_metadata$site2=="grove's orange midden"|
fos_metadata$site2=="fort center")]<-"holocene"
fos_metadata$site2[which(fos_metadata$site2=="camelot"&
fos_metadata$carapace_length<=150)]<-"camelot2"
# fos_metadata$site2[which(fos_metadata$site2=="ingleside"&
# fos_metadata$carapace_length<=155)]<-"ingleside2"
fos_metadata$site2<-droplevels(fos_metadata$site2)
# reorder sites by name
fos_metadata$site2<-factor(as.character(fos_metadata$site2))
# #reorder sites by carapace length, small to large
# site_order<-group_by(fos_metadata,site2) %>% summarise(., mean(carapace_length)) #%>% arrange(.,`mean(carapace_length)`)
# fos_metadata$site2<-factor(fos_metadata$site2,levels(fos_metadata$site2)[order(site_order$`mean(carapace_length)`)])
# levels(fos_metadata$site2)