Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
######################################################################
# Code from Francomano et al. (IBIS 2023) #
######################################################################
# Listening File Selection Script #
######################################################################
# Created by: Dante Francomano (dfrancomano@alumni.purdue.edu)
# Date: 20200113
######################################################################
######################################################################
# Load package
.libPaths("E:/Dante/R_3_5_3_Library")
library(dplyr)
# Set seed for randomization
set.seed(3)
# Generate vectors of possible times
possibleTimes<-paste(rep(c(paste(rep("0",10),c(0:9),sep=""),paste(rep("1",10),c(0:9),sep=""),paste(rep("2",4),c(0:3),sep="")),each=12),
rep(c("00","05",seq(10,55,5)),24),"00",sep="")
period1Times<-possibleTimes[1:36]
period2Times<-possibleTimes[37:72]
period3Times<-possibleTimes[73:108]
period4Times<-possibleTimes[109:144]
period5Times<-possibleTimes[145:180]
period6Times<-possibleTimes[181:216]
period7Times<-possibleTimes[217:252]
period8Times<-possibleTimes[253:288]
# Generate and enter data for Isla de los Estados
IDLEPMSites<-c("PM_01","PM_02")
IDLEPPASites<-c("PPA_02","PPA_03","PPA_05","PPA_06","PPA_07")
IDLEPMSensors<-c("S4A00449","S4A00440")
IDLEPPASensors<-c("S4A03851","S4A00466","S4A03852","S4A00436","S4A00433")
IDLEDataCoverage<-read.csv("E:/Dante/Penguins/Data_Coverage_Results/Isla_de_los_Estados_Overall.csv")
IDLEFullDays<-NULL
for(i in 1:length(unique(IDLEDataCoverage[,1]))) if(sum(IDLEDataCoverage[(i*288-287):(i*288),3])==288) IDLEFullDays[i]<-IDLEDataCoverage[(i*288),1]
IDLEFullDays<-IDLEFullDays[which(is.na(IDLEFullDays)==FALSE)]
# Generate and enter data for Isla Martillo
MartilloPart1Sites<-c("Zona_Erosionada","Zona_Nueva","Zona_Turistica")
MartilloPart2Sites<-c("019","Baliza","P53","Rata_Muerta","Zona_Erosionada","Zona_Nueva","Zona_Turistica")
MartilloPart1Sensors<-c("S4A03859","S4A00431","S4A03868")
MartilloPart2Sensors<-c("S4A03851","S4A03852","S4A00436","S4A00449","S4A03859","S4A00431","S4A03868")
MartilloPart1DataCoverage<-read.csv("E:/Dante/Penguins/Data_Coverage_Results/Isla_Martillo_Part_1.csv")
MartilloPart2DataCoverage<-read.csv("E:/Dante/Penguins/Data_Coverage_Results/Isla_Martillo_Part_2.csv")
MartilloPart1FullDays<-NULL
for(i in 1:length(unique(MartilloPart1DataCoverage[,1]))) if(sum(MartilloPart1DataCoverage[(i*288-287):(i*288),3])==288) MartilloPart1FullDays[i]<-MartilloPart1DataCoverage[(i*288),1]
MartilloPart1FullDays<-MartilloPart1FullDays[which(is.na(MartilloPart1FullDays)==FALSE)]
MartilloPart1aFullDays<-MartilloPart1FullDays[1:31]
MartilloPart1bFullDays<-MartilloPart1FullDays[32:62]
MartilloPart1cFullDays<-MartilloPart1FullDays[63:94]
MartilloPart2FullDays<-NULL
for(i in 1:length(unique(MartilloPart2DataCoverage[,1]))) if(sum(MartilloPart2DataCoverage[(i*288-287):(i*288),3])==288) MartilloPart2FullDays[i]<-MartilloPart2DataCoverage[(i*288),1]
MartilloPart2FullDays<-MartilloPart2FullDays[which(is.na(MartilloPart2FullDays)==FALSE)]
MartilloPart2aFullDays<-MartilloPart2FullDays[1:34]
MartilloPart2bFullDays<-MartilloPart2FullDays[35:68]
######################################################################
# Select random dates and times for each site and period
######################################################################
# IDLE PM
IDLEPMStructuredSample<-as.data.frame(matrix(NA,16,6))
colnames(IDLEPMStructuredSample)<-c("random_number","site","sensor","date","time","file_name")
IDLEPMStructuredSample[,1]<-runif(16)
IDLEPMStructuredSample[,2]<-rep(IDLEPMSites,each=8)
IDLEPMStructuredSample[,3]<-rep(IDLEPMSensors,each=8)
IDLEPMStructuredSample[,4]<-sample(IDLEFullDays,16,replace=TRUE)
IDLEPMStructuredSample[c(1,9),5]<-sample(period1Times,2,replace=TRUE)
IDLEPMStructuredSample[c(2,10),5]<-sample(period2Times,2,replace=TRUE)
IDLEPMStructuredSample[c(3,11),5]<-sample(period3Times,2,replace=TRUE)
IDLEPMStructuredSample[c(4,12),5]<-sample(period4Times,2,replace=TRUE)
IDLEPMStructuredSample[c(5,13),5]<-sample(period5Times,2,replace=TRUE)
IDLEPMStructuredSample[c(6,14),5]<-sample(period6Times,2,replace=TRUE)
IDLEPMStructuredSample[c(7,15),5]<-sample(period7Times,2,replace=TRUE)
IDLEPMStructuredSample[c(8,16),5]<-sample(period8Times,2,replace=TRUE)
IDLEPMStructuredSample[,6]<-apply(IDLEPMStructuredSample[,3:5],1,function(x) paste(paste(x,collapse="_"),".wav",sep=""))
IDLEPMRandomizedSample<-arrange(IDLEPMStructuredSample,random_number)
# IDLE PPA
IDLEPPAStructuredSample<-as.data.frame(matrix(NA,40,6))
colnames(IDLEPPAStructuredSample)<-c("random_number","site","sensor","date","time","file_name")
IDLEPPAStructuredSample[,1]<-runif(40)
IDLEPPAStructuredSample[,2]<-rep(IDLEPPASites,each=8)
IDLEPPAStructuredSample[,3]<-rep(IDLEPPASensors,each=8)
IDLEPPAStructuredSample[,4]<-sample(IDLEFullDays,40,replace=TRUE)
IDLEPPAStructuredSample[c(1,9,17,25,33),5]<-sample(period1Times,5,replace=TRUE)
IDLEPPAStructuredSample[c(2,10,18,26,34),5]<-sample(period2Times,5,replace=TRUE)
IDLEPPAStructuredSample[c(3,11,19,27,35),5]<-sample(period3Times,5,replace=TRUE)
IDLEPPAStructuredSample[c(4,12,20,28,36),5]<-sample(period4Times,5,replace=TRUE)
IDLEPPAStructuredSample[c(5,13,21,29,37),5]<-sample(period5Times,5,replace=TRUE)
IDLEPPAStructuredSample[c(6,14,22,30,38),5]<-sample(period6Times,5,replace=TRUE)
IDLEPPAStructuredSample[c(7,15,23,31,39),5]<-sample(period7Times,5,replace=TRUE)
IDLEPPAStructuredSample[c(8,16,24,32,40),5]<-sample(period8Times,5,replace=TRUE)
IDLEPPAStructuredSample[,6]<-apply(IDLEPPAStructuredSample[,3:5],1,function(x) paste(paste(x,collapse="_"),".wav",sep=""))
IDLEPPARandomizedSample<-arrange(IDLEPPAStructuredSample,random_number)
# Martillo Part 1a
MartilloPart1aStructuredSample<-as.data.frame(matrix(NA,24,6))
colnames(MartilloPart1aStructuredSample)<-c("random_number","site","sensor","date","time","file_name")
MartilloPart1aStructuredSample[,1]<-runif(24)
MartilloPart1aStructuredSample[,2]<-rep(MartilloPart1Sites,each=8)
MartilloPart1aStructuredSample[,3]<-rep(MartilloPart1Sensors,each=8)
MartilloPart1aStructuredSample[,4]<-sample(MartilloPart1aFullDays,24,replace=TRUE)
MartilloPart1aStructuredSample[c(1,9,17),5]<-sample(period1Times,3,replace=TRUE)
MartilloPart1aStructuredSample[c(2,10,18),5]<-sample(period2Times,3,replace=TRUE)
MartilloPart1aStructuredSample[c(3,11,19),5]<-sample(period3Times,3,replace=TRUE)
MartilloPart1aStructuredSample[c(4,12,20),5]<-sample(period4Times,3,replace=TRUE)
MartilloPart1aStructuredSample[c(5,13,21),5]<-sample(period5Times,3,replace=TRUE)
MartilloPart1aStructuredSample[c(6,14,22),5]<-sample(period6Times,3,replace=TRUE)
MartilloPart1aStructuredSample[c(7,15,23),5]<-sample(period7Times,3,replace=TRUE)
MartilloPart1aStructuredSample[c(8,16,24),5]<-sample(period8Times,3,replace=TRUE)
MartilloPart1aStructuredSample[,6]<-apply(MartilloPart1aStructuredSample[,3:5],1,function(x) paste(paste(x,collapse="_"),".wav",sep=""))
MartilloPart1aRandomizedSample<-arrange(MartilloPart1aStructuredSample,random_number)
# Martillo Part 1b
MartilloPart1bStructuredSample<-as.data.frame(matrix(NA,24,6))
colnames(MartilloPart1bStructuredSample)<-c("random_number","site","sensor","date","time","file_name")
MartilloPart1bStructuredSample[,1]<-runif(24)
MartilloPart1bStructuredSample[,2]<-rep(MartilloPart1Sites,each=8)
MartilloPart1bStructuredSample[,3]<-rep(MartilloPart1Sensors,each=8)
MartilloPart1bStructuredSample[,4]<-sample(MartilloPart1bFullDays,24,replace=TRUE)
MartilloPart1bStructuredSample[c(1,9,17),5]<-sample(period1Times,3,replace=TRUE)
MartilloPart1bStructuredSample[c(2,10,18),5]<-sample(period2Times,3,replace=TRUE)
MartilloPart1bStructuredSample[c(3,11,19),5]<-sample(period3Times,3,replace=TRUE)
MartilloPart1bStructuredSample[c(4,12,20),5]<-sample(period4Times,3,replace=TRUE)
MartilloPart1bStructuredSample[c(5,13,21),5]<-sample(period5Times,3,replace=TRUE)
MartilloPart1bStructuredSample[c(6,14,22),5]<-sample(period6Times,3,replace=TRUE)
MartilloPart1bStructuredSample[c(7,15,23),5]<-sample(period7Times,3,replace=TRUE)
MartilloPart1bStructuredSample[c(8,16,24),5]<-sample(period8Times,3,replace=TRUE)
MartilloPart1bStructuredSample[,6]<-apply(MartilloPart1bStructuredSample[,3:5],1,function(x) paste(paste(x,collapse="_"),".wav",sep=""))
MartilloPart1bRandomizedSample<-arrange(MartilloPart1bStructuredSample,random_number)
# Martillo Part 1c
MartilloPart1cStructuredSample<-as.data.frame(matrix(NA,24,6))
colnames(MartilloPart1cStructuredSample)<-c("random_number","site","sensor","date","time","file_name")
MartilloPart1cStructuredSample[,1]<-runif(24)
MartilloPart1cStructuredSample[,2]<-rep(MartilloPart1Sites,each=8)
MartilloPart1cStructuredSample[,3]<-rep(MartilloPart1Sensors,each=8)
MartilloPart1cStructuredSample[,4]<-sample(MartilloPart1cFullDays,24,replace=TRUE)
MartilloPart1cStructuredSample[c(1,9,17),5]<-sample(period1Times,3,replace=TRUE)
MartilloPart1cStructuredSample[c(2,10,18),5]<-sample(period2Times,3,replace=TRUE)
MartilloPart1cStructuredSample[c(3,11,19),5]<-sample(period3Times,3,replace=TRUE)
MartilloPart1cStructuredSample[c(4,12,20),5]<-sample(period4Times,3,replace=TRUE)
MartilloPart1cStructuredSample[c(5,13,21),5]<-sample(period5Times,3,replace=TRUE)
MartilloPart1cStructuredSample[c(6,14,22),5]<-sample(period6Times,3,replace=TRUE)
MartilloPart1cStructuredSample[c(7,15,23),5]<-sample(period7Times,3,replace=TRUE)
MartilloPart1cStructuredSample[c(8,16,24),5]<-sample(period8Times,3,replace=TRUE)
MartilloPart1cStructuredSample[,6]<-apply(MartilloPart1cStructuredSample[,3:5],1,function(x) paste(paste(x,collapse="_"),".wav",sep=""))
MartilloPart1cRandomizedSample<-arrange(MartilloPart1cStructuredSample,random_number)
# Martillo Part 2a
MartilloPart2aStructuredSample<-as.data.frame(matrix(NA,56,6))
colnames(MartilloPart2aStructuredSample)<-c("random_number","site","sensor","date","time","file_name")
MartilloPart2aStructuredSample[,1]<-runif(56)
MartilloPart2aStructuredSample[,2]<-rep(MartilloPart2Sites,each=8)
MartilloPart2aStructuredSample[,3]<-rep(MartilloPart2Sensors,each=8)
MartilloPart2aStructuredSample[,4]<-sample(MartilloPart2aFullDays,56,replace=TRUE)
MartilloPart2aStructuredSample[c(1,9,17,25,33,41,49),5]<-sample(period1Times,7,replace=TRUE)
MartilloPart2aStructuredSample[c(2,10,18,26,34,42,50),5]<-sample(period2Times,7,replace=TRUE)
MartilloPart2aStructuredSample[c(3,11,19,27,35,43,51),5]<-sample(period3Times,7,replace=TRUE)
MartilloPart2aStructuredSample[c(4,12,20,28,36,44,52),5]<-sample(period4Times,7,replace=TRUE)
MartilloPart2aStructuredSample[c(5,13,21,29,37,45,53),5]<-sample(period5Times,7,replace=TRUE)
MartilloPart2aStructuredSample[c(6,14,22,30,38,46,54),5]<-sample(period6Times,7,replace=TRUE)
MartilloPart2aStructuredSample[c(7,15,23,31,39,47,55),5]<-sample(period7Times,7,replace=TRUE)
MartilloPart2aStructuredSample[c(8,16,24,32,40,48,56),5]<-sample(period8Times,7,replace=TRUE)
MartilloPart2aStructuredSample[,6]<-apply(MartilloPart2aStructuredSample[,3:5],1,function(x) paste(paste(x,collapse="_"),".wav",sep=""))
MartilloPart2aRandomizedSample<-arrange(MartilloPart2aStructuredSample,random_number)
# Martillo Part 2b
MartilloPart2bStructuredSample<-as.data.frame(matrix(NA,56,6))
colnames(MartilloPart2bStructuredSample)<-c("random_number","site","sensor","date","time","file_name")
MartilloPart2bStructuredSample[,1]<-runif(56)
MartilloPart2bStructuredSample[,2]<-rep(MartilloPart2Sites,each=8)
MartilloPart2bStructuredSample[,3]<-rep(MartilloPart2Sensors,each=8)
MartilloPart2bStructuredSample[,4]<-sample(MartilloPart2bFullDays,56,replace=TRUE)
MartilloPart2bStructuredSample[c(1,9,17,25,33,41,49),5]<-sample(period1Times,7,replace=TRUE)
MartilloPart2bStructuredSample[c(2,10,18,26,34,42,50),5]<-sample(period2Times,7,replace=TRUE)
MartilloPart2bStructuredSample[c(3,11,19,27,35,43,51),5]<-sample(period3Times,7,replace=TRUE)
MartilloPart2bStructuredSample[c(4,12,20,28,36,44,52),5]<-sample(period4Times,7,replace=TRUE)
MartilloPart2bStructuredSample[c(5,13,21,29,37,45,53),5]<-sample(period5Times,7,replace=TRUE)
MartilloPart2bStructuredSample[c(6,14,22,30,38,46,54),5]<-sample(period6Times,7,replace=TRUE)
MartilloPart2bStructuredSample[c(7,15,23,31,39,47,55),5]<-sample(period7Times,7,replace=TRUE)
MartilloPart2bStructuredSample[c(8,16,24,32,40,48,56),5]<-sample(period8Times,7,replace=TRUE)
MartilloPart2bStructuredSample[,6]<-apply(MartilloPart2bStructuredSample[,3:5],1,function(x) paste(paste(x,collapse="_"),".wav",sep=""))
MartilloPart2bRandomizedSample<-arrange(MartilloPart2bStructuredSample,random_number)
######################################################################
# Write results
######################################################################
write.csv(IDLEPMRandomizedSample,"E:/Dante/Penguins/Structured_Listening/Randomized_Data_Lists/IDLE_PM_Randomized_Sample.csv")
write.csv(IDLEPPARandomizedSample,"E:/Dante/Penguins/Structured_Listening/Randomized_Data_Lists/IDLE_PPA_Randomized_Sample.csv")
write.csv(MartilloPart1aRandomizedSample,"E:/Dante/Penguins/Structured_Listening/Randomized_Data_Lists/Martillo_Part_1a_Randomized_Sample.csv")
write.csv(MartilloPart1bRandomizedSample,"E:/Dante/Penguins/Structured_Listening/Randomized_Data_Lists/Martillo_Part_1b_Randomized_Sample.csv")
write.csv(MartilloPart1cRandomizedSample,"E:/Dante/Penguins/Structured_Listening/Randomized_Data_Lists/Martillo_Part_1c_Randomized_Sample.csv")
write.csv(MartilloPart2aRandomizedSample,"E:/Dante/Penguins/Structured_Listening/Randomized_Data_Lists/Martillo_Part_2a_Randomized_Sample.csv")
write.csv(MartilloPart2bRandomizedSample,"E:/Dante/Penguins/Structured_Listening/Randomized_Data_Lists/Martillo_Part_2b_Randomized_Sample.csv")