diff --git a/BBPs/Results/16-06-22_14h00_number_of_BBP.csv b/BBPs/Results/16-06-22_14h00_number_of_BBP.csv index 4a3c0ca83cd133097f17e481c124a7b7fa13452d..d7a4784986751ed059dc18fed3345f0c3259d5da 100644 --- a/BBPs/Results/16-06-22_14h00_number_of_BBP.csv +++ b/BBPs/Results/16-06-22_14h00_number_of_BBP.csv @@ -39,18 +39,18 @@ number_of_BBP,acoustic,fishing_net,behavior,beacon,date,number,net,audio_names,B 1,D,SSF,DEPL,DC,09/07/2021,6,SSF,SCW6070_20210,1,0 0,D,SSF,DEPL,DC,09/07/2021,6,SSF,SCW6070_20210,0,0 0,D,SSF,DEPL,DC,09/07/2021,6,SSF,SCW6070_20210,0,0 -0,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210,0,0 -0,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210,0,0 -0,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210,0,0 -2,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210,0,2 -0,D+AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210,0,0 -0,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210,0,0 -0,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210,0,0 -0,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210,0,0 -0,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210,0,0 -0,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210,0,0 -0,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210,0,0 -0,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210,0,0 +0,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210,0,0 +0,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210,0,0 +0,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210,0,0 +2,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210,0,2 +0,D+AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210,0,0 +0,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210,0,0 +0,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210,0,0 +0,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210,0,0 +0,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210,0,0 +0,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210,0,0 +0,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210,0,0 +0,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210,0,0 2,T,SSF,CHAS,DC,09/07/2021,15,SSF,SCW6070_20210,1,1 5,T,SSF,CHAS,DC,09/07/2021,15,SSF,SCW6070_20210,4,1 0,T,SSF,CHAS,DC,09/07/2021,20,SSF,SCW6070_20210,0,0 diff --git a/CSV_data/Audio_Data_2021.csv b/CSV_data/Audio_Data_2021.csv index 741defbd8c1e039751b77472e934c95ee5e98a2b..9605bb497294821f8eb70abb525664d9174c9400 100644 --- a/CSV_data/Audio_Data_2021.csv +++ b/CSV_data/Audio_Data_2021.csv @@ -39,18 +39,18 @@ Fichier Audio,Date,Heure (UTC),T,AV,AV+D,D,D+AP,AP,AP+AV,F,SSF,NSP,CHAS,SOCI,DEP 09072021-avec_sondeur/SCW6070_20210709_095700.wav,09/07/2021,9:57,0,0,0,1,0,0,0,0,1,0,0,0,1,1,DC,6,SSF 09072021-avec_sondeur/SCW6070_20210709_095800.wav,09/07/2021,9:58,0,0,0,1,0,0,0,0,1,0,0,0,1,1,DC,6,SSF 09072021-avec_sondeur/SCW6070_20210709_095900.wav,09/07/2021,9:59,0,0,0,1,0,0,0,0,1,0,0,0,1,1,DC,6,SSF -09072021-avec_sondeur/SCW6070_20210709_100000.wav,09/07/2021,10:0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,DC,6,tremail -09072021-avec_sondeur/SCW6070_20210709_100100.wav,09/07/2021,10:1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,DC,6,tremail -09072021-avec_sondeur/SCW6070_20210709_100200.wav,09/07/2021,10:2,0,0,0,1,0,0,0,1,0,0,0,0,1,1,DC,6,tremail -09072021-avec_sondeur/SCW6070_20210709_100300.wav,09/07/2021,10:3,0,0,0,1,0,0,0,1,0,0,0,0,1,1,DC,6,tremail -09072021-avec_sondeur/SCW6070_20210709_100400.wav,09/07/2021,10:4,0,0,0,0,1,0,0,1,0,0,0,0,1,1,DC,6,tremail -09072021-avec_sondeur/SCW6070_20210709_100500.wav,09/07/2021,10:5,0,0,0,0,0,1,0,1,0,0,0,0,1,1,DC,6,tremail -09072021-avec_sondeur/SCW6070_20210709_100600.wav,09/07/2021,10:6,0,0,0,0,0,1,0,1,0,0,0,0,1,1,DC,6,tremail -09072021-avec_sondeur/SCW6070_20210709_100700.wav,09/07/2021,10:7,0,0,0,0,0,1,0,1,0,0,0,0,1,1,DC,6,tremail -09072021-avec_sondeur/SCW6070_20210709_102700.wav,09/07/2021,10:27,1,0,0,0,0,0,0,1,0,0,0,0,1,1,DC,14,tremail -09072021-avec_sondeur/SCW6070_20210709_102800.wav,09/07/2021,10:28,1,0,0,0,0,0,0,1,0,0,0,0,1,1,DC,14,tremail -09072021-avec_sondeur/SCW6070_20210709_102900.wav,09/07/2021,10:29,1,0,0,0,0,0,0,1,0,0,0,0,1,1,DC,14,tremail -09072021-avec_sondeur/SCW6070_20210709_103000.wav,09/07/2021,10:30,1,0,0,0,0,0,0,1,0,0,0,0,1,1,DC,14,tremail +09072021-avec_sondeur/SCW6070_20210709_100000.wav,09/07/2021,10:0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,DC,6,grand_filet +09072021-avec_sondeur/SCW6070_20210709_100100.wav,09/07/2021,10:1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,DC,6,grand_filet +09072021-avec_sondeur/SCW6070_20210709_100200.wav,09/07/2021,10:2,0,0,0,1,0,0,0,1,0,0,0,0,1,1,DC,6,grand_filet +09072021-avec_sondeur/SCW6070_20210709_100300.wav,09/07/2021,10:3,0,0,0,1,0,0,0,1,0,0,0,0,1,1,DC,6,grand_filet +09072021-avec_sondeur/SCW6070_20210709_100400.wav,09/07/2021,10:4,0,0,0,0,1,0,0,1,0,0,0,0,1,1,DC,6,grand_filet +09072021-avec_sondeur/SCW6070_20210709_100500.wav,09/07/2021,10:5,0,0,0,0,0,1,0,1,0,0,0,0,1,1,DC,6,grand_filet +09072021-avec_sondeur/SCW6070_20210709_100600.wav,09/07/2021,10:6,0,0,0,0,0,1,0,1,0,0,0,0,1,1,DC,6,grand_filet +09072021-avec_sondeur/SCW6070_20210709_100700.wav,09/07/2021,10:7,0,0,0,0,0,1,0,1,0,0,0,0,1,1,DC,6,grand_filet +09072021-avec_sondeur/SCW6070_20210709_102700.wav,09/07/2021,10:27,1,0,0,0,0,0,0,1,0,0,0,0,1,1,DC,14,grand_filet +09072021-avec_sondeur/SCW6070_20210709_102800.wav,09/07/2021,10:28,1,0,0,0,0,0,0,1,0,0,0,0,1,1,DC,14,grand_filet +09072021-avec_sondeur/SCW6070_20210709_102900.wav,09/07/2021,10:29,1,0,0,0,0,0,0,1,0,0,0,0,1,1,DC,14,grand_filet +09072021-avec_sondeur/SCW6070_20210709_103000.wav,09/07/2021,10:30,1,0,0,0,0,0,0,1,0,0,0,0,1,1,DC,14,grand_filet 09072021-avec_sondeur/SCW6070_20210709_104100.wav,09/07/2021,10:41,1,0,0,0,0,0,0,0,1,0,1,0,0,1,DC,15,SSF 09072021-avec_sondeur/SCW6070_20210709_104200.wav,09/07/2021,10:42,1,0,0,0,0,0,0,0,1,0,1,0,0,1,DC,15,SSF 09072021-avec_sondeur/SCW6070_20210709_104300.wav,09/07/2021,10:43,1,0,0,0,0,0,0,0,1,0,1,0,0,1,DC,20,SSF @@ -98,4 +98,4 @@ Fichier Audio,Date,Heure (UTC),T,AV,AV+D,D,D+AP,AP,AP+AV,F,SSF,NSP,CHAS,SOCI,DEP ,,,,,,,,,,,,,,,,,,, TOTAUX,,,11,11,14,32,13,14,1,12,84,0,11,0,85,63,,, ,,,,,,,,,,,,,,,,,,, -NOMBRE,NOMBRE D'AUDIOS,96,,,96,,,,,,96,,,96,,,,, \ No newline at end of file +NOMBRE,NOMBRE D'AUDIOS,96,,,96,,,,,,96,,,96,,,,, diff --git a/Clicks/Results/number_of_clicks_02052022.csv b/Clicks/Results/number_of_clicks_02052022.csv index 8b7484099029d63d6a86df8239e0df0cd417e871..6046f9b96ebf90f3dcc37efb6316c8666222d5fe 100644 --- a/Clicks/Results/number_of_clicks_02052022.csv +++ b/Clicks/Results/number_of_clicks_02052022.csv @@ -64,7 +64,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 29,T,F,DEPL,DOL3,14/07/2020,3,chalut_blanc,SCW1807_20200714_091100 45,T,SSF,SOCI,DOL5,13/07/2020,4,SSF,SCW1807_20200713_094500 1,D+AP,SSF,DEPL,DC70,18/07/2021,12,SSF,SCW6070_20210718_090200 -299,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100200 +299,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100200 364,AP,F,DEPL,DOL1_N26,17/07/2020,4,tremail,SCW1807_20200717_090400 2110,D,F,DEPL,DOL4,12/07/2020,12,chalut_blanc,SCW1807_20200712_090700 648,D+AP,SSF,CHAS,DC,09/07/2021,12,SSF,SCW6070_20210709_121300 @@ -121,7 +121,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 39,D,F,DEPL,DOL1,16/07/2020,6,tremail,SCW1807_20200716_073300 83,D,SSF,CHAS,DOL1,16/07/2020,6,SSF,SCW1807_20200716_083500 457,D,F,DEPL,DOL1_N26,17/07/2020,20,tremail,SCW1807_20200717_084300 -275,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100300 +275,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100300 414,D,F,DEPL,DOL1,12/07/2020,3,tremail,SCW1807_20200712_132800 375,D+AP,F,DEPL,DOL3_N36,17/07/2020,5,chalut_vert,SCW1807_20200717_070600 244,AP,SSF,DEPL,DC,09/07/2021,14,SSF,SCW6070_20210709_090100 @@ -155,7 +155,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 457,D,F,DEPL,DOL4,11/07/2020,8,chalut_blanc,SCW1807_20200711_093700 74,D,SSF,CHAS,DOL1,16/07/2020,40,SSF,SCW1807_20200716_082700 329,D,F,DEPL,DOL7,11/07/2020,6,chalut_vert,SCW1807_20200711_115800 -244,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100600 +244,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100600 957,AV+D,F,DEPL,DOL5,13/07/2020,10,chalut_vert,SCW1807_20200713_064200 1028,D,F,DEPL,DOL4,12/07/2020,12,chalut_blanc,SCW1807_20200712_090800 211,D,F,DEPL,DOL1,16/07/2020,4,tremail,SCW1807_20200716_104800 @@ -210,7 +210,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 1213,D,F,DEPL,DOL7,11/07/2020,6,chalut_vert,SCW1807_20200711_115600 71,T,F,DEPL,DOL5,12/07/2020,6,chalut_vert,SCW1807_20200712_140600 187,D,SSF,SOCI,DOL4,11/07/2020,8,SSF,SCW1807_20200711_085800 -244,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100500 +244,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100500 274,D+AP,SSF,DEPL,DC,09/07/2021,14,SSF,SCW6070_20210709_090000 480,AV,SSF,DEPL,NC,13/07/2020,15,SSF,SCW1807_20200713_114200 39,T,SSF,DEPL,DDD,17/07/2020,15,SSF,SCW1807_20200717_094400 @@ -249,9 +249,9 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 792,D,F,DEPL,DOL3_N36,17/07/2020,8,chalut_vert,SCW1807_20200717_065100 70,AV,F,DEPL,NC,12/07/2020,4,tremail,SCW1807_20200712_132600 1379,AV+D,F,CHAS,DOL3_N36,18/07/2020,10,chalut_vert,SCW1807_20200718_082200 -333,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100000 +333,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100000 1029,D,F,DEPL,DOL1_N26,17/07/2020,20,tremail,SCW1807_20200717_081200 -244,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_103000 +244,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_103000 157,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093900 680,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093400 114,D+AP,F,DEPL,DOL3,11/07/2020,11,chalut_blanc,SCW1807_20200711_132100 @@ -274,7 +274,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 1012,D,F,DEPL,DOL7,11/07/2020,6,chalut_vert,SCW1807_20200711_115700 243,D,F,DEPL,DOL1,16/07/2020,6,tremail,SCW1807_20200716_073200 254,D,F,DEPL,DOL3,11/07/2020,3,chalut_blanc,SCW1807_20200711_131800 -244,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102900 +244,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102900 1004,T,F,DEPL,DOL3,12/07/2020,5,chalut_blanc,SCW1807_20200712_100900 54,D,SSF,SOCI,DOL4,11/07/2020,8,SSF,SCW1807_20200711_090500 827,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093600 @@ -332,13 +332,13 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 532,AV,F,DEPL,NC,18/07/2020,20,chalut_vert,SCW1807_20200718_085700 2131,T,F,DEPL,DOL5,13/07/2020,12,chalut_vert,SCW1807_20200713_064500 737,T,F,DEPL,DOL3,12/07/2020,5,chalut_blanc,SCW1807_20200712_101000 -69,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100700 +69,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100700 49,D+AP,SSF,DEPL,DC70,11/07/2021,5,SSF,SCW6070_20210711_074200 0,T,F,DEPL,DOL5,13/07/2020,8,chalut_vert,SCW1807_20200713_074200 561,D,F,DEPL,DOL4,11/07/2020,8,chalut_blanc,SCW1807_20200711_093600 1154,AV,SSF,DEPL,NC,11/07/2020,4,SSF,SCW1807_20200711_083600 14,AV,F,DEPL,NC,16/07/2020,7,tremail,SCW1807_20200716_095100 -259,D+AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100400 +259,D+AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100400 587,D,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_090400 3,T,SSF,SOCI,DOL5,13/07/2020,4,SSF,SCW1807_20200713_094800 114,AV+D,SSF,DEPL,DC70,18/07/2021,12,SSF,SCW6070_20210718_091200 @@ -365,7 +365,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 49,D,F,DEPL,DOL1,16/07/2020,3,tremail,SCW1807_20200716_102500 261,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093500 320,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093800 -244,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102800 +244,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102800 958,D,F,DEPL,DOL3_N36,17/07/2020,8,chalut_vert,SCW1807_20200717_065200 905,D,F,DEPL,DOL1,16/07/2020,6,tremail,SCW1807_20200716_090300 9,T,F,DEPL,DOL5,12/07/2020,2,chalut_vert,SCW1807_20200712_140100 @@ -386,7 +386,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 10,T,F,DEPL,DOL3,14/07/2020,3,chalut_blanc,SCW1807_20200714_091200 136,AP,F,DEPL,DOL3_N36,17/07/2020,8,chalut_vert,SCW1807_20200717_065500 570,T,SSF,DEPL,DOL3,14/07/2020,6,SSF,SCW1807_20200714_090300 -212,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102700 +212,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102700 77,D,SSF,DEPL,DOL1,16/07/2020,6,SSF,SCW1807_20200716_071500 16,D+AP,F,DEPL,DOL1,16/07/2020,4,tremail,SCW1807_20200716_104900 301,AP,F,CHAS,DOL3_N36,18/07/2020,10,chalut_vert,SCW1807_20200718_084900 @@ -432,7 +432,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 14,AV+D,SSF,DEPL,DC70,18/07/2021,12,SSF,SCW6070_20210718_091700 81,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_094200 980,D,F,DEPL,DOL1_N26,17/07/2020,4,tremail,SCW1807_20200717_090100 -356,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100100 +356,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100100 1,AV,SSF,DEPL,NC,18/07/2021,12,SSF,SCW6070_20210718_100500 6,D+AP,SSF,DEPL,DOL4,11/07/2020,7,SSF,SCW1807_20200711_084600 661,AV+D,F,DEPL,DOL1,16/07/2020,2,tremail,SCW1807_20200716_102300 diff --git a/Clicks/Results/projection_updated_number_of_clicks_02052022.csv b/Clicks/Results/projection_updated_number_of_clicks_02052022.csv index 8f0a88e60b48fcaa7df968692077e4575516b52c..140e489935198a291a0cb144f971603170bf7a26 100644 --- a/Clicks/Results/projection_updated_number_of_clicks_02052022.csv +++ b/Clicks/Results/projection_updated_number_of_clicks_02052022.csv @@ -64,7 +64,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 29,T,F,DEPL,DOL3,14/07/2020,3,chalut_blanc,SCW1807_20200714_091100 45,T,SSF,SOCI,DOL5,13/07/2020,4,SSF,SCW1807_20200713_094500 1,D+AP,SSF,DEPL,DC70,18/07/2021,12,SSF,SCW6070_20210718_090200 -60,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100200 +60,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100200 364,AP,F,DEPL,DOL1_N26,17/07/2020,4,tremail,SCW1807_20200717_090400 2110,D,F,DEPL,DOL4,12/07/2020,12,chalut_blanc,SCW1807_20200712_090700 1,D+AP,SSF,CHAS,DC,09/07/2021,12,SSF,SCW6070_20210709_121300 @@ -121,7 +121,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 39,D,F,DEPL,DOL1,16/07/2020,6,tremail,SCW1807_20200716_073300 83,D,SSF,CHAS,DOL1,16/07/2020,6,SSF,SCW1807_20200716_083500 457,D,F,DEPL,DOL1_N26,17/07/2020,20,tremail,SCW1807_20200717_084300 -35,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100300 +35,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100300 414,D,F,DEPL,DOL1,12/07/2020,3,tremail,SCW1807_20200712_132800 375,D+AP,F,DEPL,DOL3_N36,17/07/2020,5,chalut_vert,SCW1807_20200717_070600 0,AP,SSF,DEPL,DC,09/07/2021,14,SSF,SCW6070_20210709_090100 @@ -155,7 +155,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 457,D,F,DEPL,DOL4,11/07/2020,8,chalut_blanc,SCW1807_20200711_093700 74,D,SSF,CHAS,DOL1,16/07/2020,40,SSF,SCW1807_20200716_082700 329,D,F,DEPL,DOL7,11/07/2020,6,chalut_vert,SCW1807_20200711_115800 -0,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100600 +0,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100600 957,AV+D,F,DEPL,DOL5,13/07/2020,10,chalut_vert,SCW1807_20200713_064200 1028,D,F,DEPL,DOL4,12/07/2020,12,chalut_blanc,SCW1807_20200712_090800 211,D,F,DEPL,DOL1,16/07/2020,4,tremail,SCW1807_20200716_104800 @@ -210,7 +210,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 1213,D,F,DEPL,DOL7,11/07/2020,6,chalut_vert,SCW1807_20200711_115600 71,T,F,DEPL,DOL5,12/07/2020,6,chalut_vert,SCW1807_20200712_140600 187,D,SSF,SOCI,DOL4,11/07/2020,8,SSF,SCW1807_20200711_085800 -0,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100500 +0,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100500 34,D+AP,SSF,DEPL,DC,09/07/2021,14,SSF,SCW6070_20210709_090000 480,AV,SSF,DEPL,NC,13/07/2020,15,SSF,SCW1807_20200713_114200 39,T,SSF,DEPL,DDD,17/07/2020,15,SSF,SCW1807_20200717_094400 @@ -249,9 +249,9 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 792,D,F,DEPL,DOL3_N36,17/07/2020,8,chalut_vert,SCW1807_20200717_065100 70,AV,F,DEPL,NC,12/07/2020,4,tremail,SCW1807_20200712_132600 1379,AV+D,F,CHAS,DOL3_N36,18/07/2020,10,chalut_vert,SCW1807_20200718_082200 -97,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100000 +97,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100000 1028,D,F,DEPL,DOL1_N26,17/07/2020,20,tremail,SCW1807_20200717_081200 -0,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_103000 +0,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_103000 157,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093900 679,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093400 114,D+AP,F,DEPL,DOL3,11/07/2020,11,chalut_blanc,SCW1807_20200711_132100 @@ -274,7 +274,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 1012,D,F,DEPL,DOL7,11/07/2020,6,chalut_vert,SCW1807_20200711_115700 243,D,F,DEPL,DOL1,16/07/2020,6,tremail,SCW1807_20200716_073200 254,D,F,DEPL,DOL3,11/07/2020,3,chalut_blanc,SCW1807_20200711_131800 -0,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102900 +0,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102900 1004,T,F,DEPL,DOL3,12/07/2020,5,chalut_blanc,SCW1807_20200712_100900 54,D,SSF,SOCI,DOL4,11/07/2020,8,SSF,SCW1807_20200711_090500 826,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093600 @@ -332,13 +332,13 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 532,AV,F,DEPL,NC,18/07/2020,20,chalut_vert,SCW1807_20200718_085700 2131,T,F,DEPL,DOL5,13/07/2020,12,chalut_vert,SCW1807_20200713_064500 737,T,F,DEPL,DOL3,12/07/2020,5,chalut_blanc,SCW1807_20200712_101000 -2,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100700 +2,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100700 49,D+AP,SSF,DEPL,DC70,11/07/2021,5,SSF,SCW6070_20210711_074200 0,T,F,DEPL,DOL5,13/07/2020,8,chalut_vert,SCW1807_20200713_074200 561,D,F,DEPL,DOL4,11/07/2020,8,chalut_blanc,SCW1807_20200711_093600 1154,AV,SSF,DEPL,NC,11/07/2020,4,SSF,SCW1807_20200711_083600 14,AV,F,DEPL,NC,16/07/2020,7,tremail,SCW1807_20200716_095100 -18,D+AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100400 +18,D+AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100400 587,D,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_090400 3,T,SSF,SOCI,DOL5,13/07/2020,4,SSF,SCW1807_20200713_094800 114,AV+D,SSF,DEPL,DC70,18/07/2021,12,SSF,SCW6070_20210718_091200 @@ -365,7 +365,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 49,D,F,DEPL,DOL1,16/07/2020,3,tremail,SCW1807_20200716_102500 258,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093500 320,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_093800 -0,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102800 +0,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102800 958,D,F,DEPL,DOL3_N36,17/07/2020,8,chalut_vert,SCW1807_20200717_065200 905,D,F,DEPL,DOL1,16/07/2020,6,tremail,SCW1807_20200716_090300 9,T,F,DEPL,DOL5,12/07/2020,2,chalut_vert,SCW1807_20200712_140100 @@ -386,7 +386,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 10,T,F,DEPL,DOL3,14/07/2020,3,chalut_blanc,SCW1807_20200714_091200 136,AP,F,DEPL,DOL3_N36,17/07/2020,8,chalut_vert,SCW1807_20200717_065500 570,T,SSF,DEPL,DOL3,14/07/2020,6,SSF,SCW1807_20200714_090300 -13,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102700 +13,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102700 76,D,SSF,DEPL,DOL1,16/07/2020,6,SSF,SCW1807_20200716_071500 16,D+AP,F,DEPL,DOL1,16/07/2020,4,tremail,SCW1807_20200716_104900 301,AP,F,CHAS,DOL3_N36,18/07/2020,10,chalut_vert,SCW1807_20200718_084900 @@ -432,7 +432,7 @@ number_of_clicks,acoustic,fishing_net,behavior,beacon,date,number,net,audio_name 14,AV+D,SSF,DEPL,DC70,18/07/2021,12,SSF,SCW6070_20210718_091700 81,T,F,DEPL,DOL1,16/07/2020,5,tremail,SCW1807_20200716_094200 975,D,F,DEPL,DOL1_N26,17/07/2020,4,tremail,SCW1807_20200717_090100 -118,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100100 +118,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100100 1,AV,SSF,DEPL,NC,18/07/2021,12,SSF,SCW6070_20210718_100500 6,D+AP,SSF,DEPL,DOL4,11/07/2020,7,SSF,SCW1807_20200711_084600 661,AV+D,F,DEPL,DOL1,16/07/2020,2,tremail,SCW1807_20200716_102300 diff --git a/README.md b/README.md index 6a7e448e5f85089c99713697db932fdf8599182d..219fe27af7e169134ac4d938cb850b600f3d07fa 100644 --- a/README.md +++ b/README.md @@ -28,4 +28,4 @@ Feel free to contact me if you have questions, tips or anything else to say. I'd Loïc Lehnhoff - <loic.lehnhoff@gmail.com> ## Related to -Results and scripts are presented in details in: Lehnhoff, L.; Glotin, H.; Bernard, S.; Dabin, W.; Le Gall, Y.; Menut, E.; Meheust, E.; Peltier, H.; Pochat, A.; Pochat, K.; Rimaud, T.; Sourget, Q.; Spitz, J.; Van Canneyt, O.; Mérigot, B. *Behavioural response of common *dolphins Delphinus* delphis to a bio-inspired acoustic device for limiting fishery by-catch.* Sustainability, 1, 0 (**IN SUBMISSION PROCESS**) +Results and scripts are presented in details in: Lehnhoff, L.; Glotin, H.; Bernard, S.; Dabin, W.; Le Gall, Y.; Menut, E.; Meheust, E.; Peltier, H.; Pochat, A.; Pochat, K.; Rimaud, T.; Sourget, Q.; Spitz, J.; Van Canneyt, O.; Mérigot, B. *Behavioural response of common *dolphins Delphinus* delphis to a bio-inspired acoustic device for limiting fishery by-catch.* Sustainability, 1, 0 (**IN SUBMISSION PROCESS**) \ No newline at end of file diff --git a/Stats/.Rhistory b/Stats/.Rhistory index 6a7bb8a5295bd73a892bdd6ee14695d2e69b4dd2..f9082116b6b3cecedaba1c77c2a57be6e559431c 100644 --- a/Stats/.Rhistory +++ b/Stats/.Rhistory @@ -1,173 +1,59 @@ -xname="Fishing nets", height=0.6, +kruskal.test(acoustic.dta$BBPs_per_dolphin ~ acoustic.dta$beacon) +# Clicks +#KW test +kruskal.test(acoustic.dta$clicks_per_dolphin ~ acoustic.dta$beacon) +#### : Beacon plots + KW analysis (letters not shown for lisibility) #### +# Whistles +#KW test +kruskal.test(acoustic.dta$whistling_time_per_dolphin ~ acoustic.dta$beacon) +#### Nets plots + KW analysis #### +# Whistles +#KW test +kruskal.test(acoustic.dta$whistling_time_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$whistling_time_per_dolphin, acoustic.dta$net) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +letter = c("a","ad","bd","cd","a")) +barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), +myletters_df, +net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), +xname="Fishing nets", height=.6, ytitle="Mean whistling time per dolphin per min")+ theme(axis.text.x=element_text(size=8.5)) # BBPs -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$BBPs_per_dolphin, -acoustic.dta$net,p.adjust = "BH")$p.value)) -myletters_df <- data.frame(net=names(letters$Letters), -letter = unname(letters$Letters)) -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional +#KW test +kruskal.test(acoustic.dta$BBPs_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$BBPs_per_dolphin, acoustic.dta$net,) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +letter = c("a","a","a","a","a")) barPlot(computeStats(acoustic.dta, net, BBPs_per_dolphin), myletters_df, -net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), -new_names = c("no net", "white trawl", "green trawl", "tremail"), +net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), xname="Fishing nets", height=.8, ytitle="Mean number of BBPs per dolphin per min")+ theme(axis.text.x=element_text(size=8.5)) # Clicks -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$clicks_per_dolphin, -acoustic.dta$net,p.adjust = "BH")$p.value)) -myletters_df <- data.frame(net=names(letters$Letters), -letter = unname(letters$Letters)) +#KW test +kruskal.test(acoustic.dta$clicks_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$clicks_per_dolphin, acoustic.dta$net) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +letter = c("ae","ad","bd","cd","e")) barPlot(computeStats(acoustic.dta, net, clicks_per_dolphin), myletters_df, -net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), -new_names = c("no net", "white trawl", "green trawl", "tremail"), +net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), xname="Fishing nets", height=120, ytitle="Mean number of clicks per dolphin per min")+ theme(axis.text.x=element_text(size=8.5)) -#### NEEDS MORE DATA: Beacon plots + optional KW analysis #### -# Whistles -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$whistling_time_per_dolphin, -acoustic.dta$beacon,p.adjust = "BH")$p.value)) -myletters_df <- data.frame(beacon=names(letters$Letters), -letter = unname(letters$Letters)) -barPlot(computeStats(acoustic.dta, beacon, whistling_time_per_dolphin/375), -NULL, -beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), -xname="Signals from bio-inspired beacon", height=0.9, size=3, -ytitle="Mean whistling time per dolphin per min")+ -theme(axis.text.x=element_text(size=8))+ -scale_x_discrete(guide=guide_axis(n.dodge = 2)) -# NC stands for "Unknown". Corresponding to categories where the beacon was not turned on yet ('BEF') -# BBPs -letters <- fullPTable(pairwise.wilcox.test(acoustic.dta$BBPs_per_dolphin, -acoustic.dta$beacon,p.adjust = "BH")$p.value) -letters[is.na(letters)] <- 0 # errors appears, we really should not compare these -letters <- multcompLetters(letters) -myletters_df <- data.frame(beacon=names(letters$Letters), -letter=unname(letters$Letters)) -barPlot(computeStats(acoustic.dta, beacon, BBPs_per_dolphin), -NULL, -beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), -xname="Signals from bio-inspired beacon", height=0.5, size=3, -ytitle="Mean number of BBPs per dolphin per min")+ -theme(axis.text.x=element_text(size=8))+ -scale_x_discrete(guide=guide_axis(n.dodge = 2)) -# NC stands for "Unknown". Corresponding to categories where the beacon was not turned on yet ('BEF') -# Clicks -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$clicks_per_dolphin, -acoustic.dta$beacon,p.adjust = "BH")$p.value)) -myletters_df <- data.frame(beacon=names(letters$Letters), -letter=unname(letters$Letters)) -barPlot(computeStats(acoustic.dta, beacon, clicks_per_dolphin), -NULL, -beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), -xname="Signals from bio-inspired beacon", height=150, size=3, -ytitle="Mean number of clicks per dolphin per min")+ -theme(axis.text.x=element_text(size=8))+ -scale_x_discrete(guide=guide_axis(n.dodge = 2)) -# NC stands for "Unknown". Corresponding to categories where the beacon was not turned on yet ('BEF') -#### WHY NOT: Number plots #### -# Whistles -numb_stats_w <- computeStats(acoustic.dta, number, total_whistles_duration/375) -numb_stats_w[is.na(numb_stats_w)] <- 0 -numb_stats_w$number <- as.factor(numb_stats_w$number) -numb_stats_w %>% -ggplot(aes(x=number, y=mean, group=1)) + -geom_errorbar(aes(x=number, ymin=mean-ic, ymax=mean+ic), -color="red", width=.1, show.legend = FALSE)+ -geom_point() + geom_line() + -theme_classic() + theme(text=element_text(size=12)) + -ylab("Mean whistling time per min")+ -xlab("Number of dolphins in group") -# BBPs -numb_stats_b <- computeStats(acoustic.dta, number, number_of_bbp) -numb_stats_b[is.na(numb_stats_b)] <- 0 -numb_stats_b$number <- as.factor(numb_stats_b$number) -numb_stats_b %>% -ggplot(aes(x=number, y=mean, group=1)) + -geom_errorbar(aes(x=number, ymin=mean-ic, ymax=mean+ic), -color="red", width=.1, show.legend = FALSE)+ -geom_point() + geom_line() + -theme_classic() + theme(text=element_text(size=12)) + -ylab("Number of BBPs per min")+ -xlab("Number of dolphins in group") -# Clicks -numb_stats_c <- computeStats(acoustic.dta, number, number_of_clicks) -numb_stats_c[is.na(numb_stats_c)] <- 0 -numb_stats_c$number <- as.factor(numb_stats_c$number) -numb_stats_c %>% -ggplot(aes(x=number, y=mean, group=1)) + -geom_errorbar(aes(x=number, ymin=mean-ic, ymax=mean+ic), -color="red", width=.1)+ -geom_point() + geom_line() + -theme_classic() + theme(text=element_text(size=12)) + -ylab("Mean number of clicks per min")+ -xlab("Number of echolocation clicks in group") -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional -barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), -myletters_df, -net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), -new_names = c("no net", "white trawl", "green trawl", "tremail"), -xname="Fishing nets", height=1, -ytitle="Mean whistling time per dolphin per min")+ -theme(axis.text.x=element_text(size=8.5)) -#### NEEDS MORE DATA: Nets plots + KW analysis #### -# Whistles -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$whistling_time_per_dolphin, -acoustic.dta$net,p.adjust = "bonferroni")$p.value)) -myletters_df <- data.frame(net=names(letters$Letters), -letter = unname(letters$Letters)) -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional -barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), -myletters_df, -net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), -new_names = c("no net", "white trawl", "green trawl", "tremail"), -xname="Fishing nets", height=0.6, -ytitle="Mean whistling time per dolphin per min")+ -theme(axis.text.x=element_text(size=8.5)) -# BBPs -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$BBPs_per_dolphin, -acoustic.dta$net,p.adjust = "BH")$p.value)) -#### NEEDS MORE DATA: Nets plots + KW analysis #### -# Whistles -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$whistling_time_per_dolphin, -acoustic.dta$net,p.adjust = "bonferroni")$p.value)) -myletters_df <- data.frame(net=names(letters$Letters), -letter = unname(letters$Letters)) -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional -barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), -myletters_df, -net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), -new_names = c("no net", "white trawl", "green trawl", "tremail"), -xname="Fishing nets", height=0.6, -ytitle="Mean whistling time per dolphin per min")+ -theme(axis.text.x=element_text(size=8.5)) -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional -barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), -myletters_df, -net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), -new_names = c("no net", "white trawl", "green trawl", "tremail"), -xname="Fishing nets", height=1, -ytitle="Mean whistling time per dolphin per min")+ -theme(axis.text.x=element_text(size=8.5)) -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional -barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), -myletters_df, -net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), -new_names = c("no net", "white trawl", "green trawl", "tremail"), -xname="Fishing nets", height=.9, -ytitle="Mean whistling time per dolphin per min")+ -theme(axis.text.x=element_text(size=8.5)) -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional -barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), -myletters_df, -net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), -new_names = c("no net", "white trawl", "green trawl", "tremail"), -xname="Fishing nets", height=.95, -ytitle="Mean whistling time per dolphin per min")+ -theme(axis.text.x=element_text(size=8.5)) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$clicks_per_dolphin, acoustic.dta$net) ######################################################################## # STATISTICS # Author : Loic LEHNHOFF @@ -185,32 +71,46 @@ library(stringr) # "gsub" function library(rcompanion) # "fullPTable" function library(multcompView) # "multcompLetters" function library(ggplot2) +library(pgirmess) #library(tidyquant) # geom_ma() if rolling average needed ################# DATASET IMPORTS ##################################### folder <- './../' +whistles.dta <-read.table(file=paste0(folder, +'Whistles/Evaluation/whistles_durations.csv'), +sep = ',', header=TRUE) +whistles.dta <- whistles.dta[order(whistles.dta$audio_names),] bbp.dta <-read.table(file=paste0(folder, 'BBPs/Results/16-06-22_14h00_number_of_BBP.csv'), sep = ',', header=TRUE) bbp.dta <- bbp.dta[order(bbp.dta$audio_names),] +clicks.dta <-read.table(file=paste0(folder, +'Clicks/Results/projection_updated_number_of_clicks_02052022.csv'), #number_of_clicks_02052022.csv +sep = ',', header=TRUE) +clicks.dta <- clicks.dta[order(clicks.dta$audio_names),] +# Merge files into 1 dataset +acoustic.dta <- clicks.dta +acoustic.dta$number_of_bbp <- bbp.dta$number_of_BBP +acoustic.dta$total_whistles_duration <- whistles.dta$total_whistles_duration +rm(whistles.dta, bbp.dta, clicks.dta) # suppress "T" acoustic data (other groups not tested on our variables) -bbp.dta <- bbp.dta[bbp.dta$acoustic!="T",] +acoustic.dta <- acoustic.dta[acoustic.dta$acoustic!="T",] # shuffle dataframe -bbp.dta <- bbp.dta[sample(1:nrow(bbp.dta)), ] -bbp.dta$acoustic <- factor(bbp.dta$acoustic) +acoustic.dta <- acoustic.dta[sample(1:nrow(acoustic.dta)), ] +acoustic.dta$acoustic <- factor(acoustic.dta$acoustic) #################### DATA INSPECTION ################################# # Data description -names(bbp.dta) +names(acoustic.dta) # self explenatory except acoustic : correspond to the activation sequence. # Look for obvious correlations -plot(bbp.dta) # nothing that we can see +plot(acoustic.dta) # nothing that we can see # Look for zero-inflation -100*sum(bbp.dta$number_of_BBP == 0)/nrow(bbp.dta) -100*sum(bbp.dta$Buzz == 0)/nrow(bbp.dta) -100*sum(bbp.dta$Burst.pulse == 0)/nrow(bbp.dta) -# 53.7%, 60.1% & 73.6% of data are zeroes +100*sum(acoustic.dta$number_of_clicks == 0)/nrow(acoustic.dta) +100*sum(acoustic.dta$number_of_bbp == 0)/nrow(acoustic.dta) +100*sum(acoustic.dta$total_whistles_duration == 0)/nrow(acoustic.dta) +# 3.6%, 53.7% & 24.7% of our data are zeros. Will have to be dealt with. # QUESTION: This study is aimed at understanding if dolphin's acoustic activity # is influenced bytheir behavior, the emission of a pinger or a fishing net. -# Dependent variables (Y): number_of_BBP, Buzz & Burst.pulse +# Dependent variables (Y): number_of_clicks, number_of_bbp, total_whistles_duration. # Explanatory variables (X): acoustic, fishing_net, behavior, beacon, net, number. # What are the H0/ H1 hypotheses ? # H0 : No influence of any of the explanatory variables on a dependant one. @@ -218,47 +118,47 @@ plot(bbp.dta) # nothing that we can see ##################### DATA EXPLORATION ################################ # Y Outlier detection par(mfrow=c(2,3)) -boxplot(bbp.dta$number_of_BBP, col='red', -ylab='number_of_BBP') -boxplot(bbp.dta$Buzz, col='red', -ylab='Buzz') -boxplot(bbp.dta$Burst.pulse, col='red', -ylab='Burst.pulse') -dotchart(bbp.dta$number_of_BBP, pch=16, -xlab='number_of_BBP', col='red') -dotchart(bbp.dta$Buzz, pch=16, -xlab='Buzz', col='red') -dotchart(bbp.dta$Burst.pulse, pch=16, -xlab='Burst.pulse', col='red') +boxplot(acoustic.dta$total_whistles_duration, col='red', +ylab='total_whistles_duration') +boxplot(acoustic.dta$number_of_bbp, col='red', +ylab='number_of_bbp') +boxplot(acoustic.dta$number_of_clicks, col='red', +ylab='number_of_clicks') +dotchart(acoustic.dta$total_whistles_duration, pch=16, +xlab='total_whistles_duration', col='red') +dotchart(acoustic.dta$number_of_bbp, pch=16, +xlab='number_of_bbp', col='red') +dotchart(acoustic.dta$number_of_clicks, pch=16, +xlab='number_of_clicks', col='red') # Y distribution par(mfrow=c(2,3)) -hist(bbp.dta$number_of_BBP, col='red', breaks=8, -xlab='number_of_BBP', ylab='number') -hist(bbp.dta$Buzz, col='red', breaks=8, -xlab='Buzz', ylab='number') -hist(bbp.dta$Burst.pulse, col='red', breaks=8, -xlab='Burst.pulse', ylab='number') -qqnorm(bbp.dta$number_of_BBP, col='red', pch=16) -qqline(bbp.dta$number_of_BBP) -qqnorm(bbp.dta$Buzz, col='red', pch=16) -qqline(bbp.dta$Buzz) -qqnorm(bbp.dta$Burst.pulse, col='red', pch=16) -qqline(bbp.dta$Burst.pulse) -shapiro.test(bbp.dta$number_of_BBP) -shapiro.test(bbp.dta$Buzz) -shapiro.test(bbp.dta$Burst.pulse) +hist(acoustic.dta$total_whistles_duration, col='red', breaks=8, +xlab='total_whistles_duration', ylab='number') +hist(acoustic.dta$number_of_bbp, col='red', breaks=8, +xlab='number_of_bbp', ylab='number') +hist(acoustic.dta$number_of_clicks, col='red', breaks=8, +xlab='number_of_clicks', ylab='number') +qqnorm(acoustic.dta$total_whistles_duration, col='red', pch=16) +qqline(acoustic.dta$total_whistles_duration) +qqnorm(acoustic.dta$number_of_bbp, col='red', pch=16) +qqline(acoustic.dta$number_of_bbp) +qqnorm(acoustic.dta$number_of_clicks, col='red', pch=16) +qqline(acoustic.dta$number_of_clicks) +shapiro.test(acoustic.dta$total_whistles_duration) +shapiro.test(acoustic.dta$number_of_bbp) +shapiro.test(acoustic.dta$number_of_clicks) # p-values are significant => they do not follow normal distributions -# we will need transformations or the use of glm models +# will need a transformation or the use of a glm model # X Number of individuals per level -summary(factor(bbp.dta$acoustic)) -summary(factor(bbp.dta$fishing_net)) -summary(factor(bbp.dta$behavior)) -summary(factor(bbp.dta$beacon)) -summary(factor(bbp.dta$net)) -table(factor(bbp.dta$acoustic),factor(bbp.dta$fishing_net)) -table(factor(bbp.dta$acoustic),factor(bbp.dta$behavior)) -table(factor(bbp.dta$behavior),factor(bbp.dta$acoustic)) -ftable(factor(bbp.dta$fishing_net), factor(bbp.dta$behavior), factor(bbp.dta$acoustic)) +summary(factor(acoustic.dta$acoustic)) +summary(factor(acoustic.dta$fishing_net)) +summary(factor(acoustic.dta$behavior)) +summary(factor(acoustic.dta$beacon)) +summary(factor(acoustic.dta$net)) +table(factor(acoustic.dta$acoustic),factor(acoustic.dta$fishing_net)) +table(factor(acoustic.dta$acoustic),factor(acoustic.dta$behavior)) +table(factor(acoustic.dta$behavior),factor(acoustic.dta$acoustic)) +ftable(factor(acoustic.dta$fishing_net), factor(acoustic.dta$behavior), factor(acoustic.dta$acoustic)) # => unbalanced, no big deal but will need more work (no orthogonality): # Effects can depend on the order of the variables # => Beacon and net have modalities with <10 individuals => analysis impossible @@ -276,45 +176,54 @@ ftable(factor(bbp.dta$fishing_net), factor(bbp.dta$behavior), factor(bbp.dta$aco # (using kruskall-Wallis non-parametric test) # fishing_net, behavior and acoustic where tested with their interactions. # If a variable is it in a model, it is because it had no significant effect. +par(mfrow=c(1,1)) +### Model for whistles +# Residual hypotheses not verified for LM +# Overdipsersion when using GLM (negative binomial) +# Using ZINB: +zero.whi <- zeroinfl(total_whistles_duration ~ +acoustic + fishing_net + behavior + offset(log(number)), +data=acoustic.dta, dist='negbin') +nb.whi <- glm.nb(total_whistles_duration ~ +acoustic + fishing_net + behavior + offset(log(number)), +data=acoustic.dta) +# comparison ZINB VS NB model +vuong(zero.whi, nb.whi) #(if p-value<0.05 then first model in comparison is better) +mod.whi <- zero.whi # => zeroinflated model is indeed better suited +car::Anova(mod.whi, type=3) +shapiro.test(residuals(mod.whi)) # H0 : normality -> not rejected if p>0.05 +dwtest(mod.whi) # H0 -> independent if p>0.05 (autocorrelation if p<0.05) +bptest(mod.whi) # H0 -> homoscedasticity if p<0.05 +# No normality but we do not need it ### Model for BBP # No normality of residuals for LM # overdispersion with GLM quasipoisson #try with glm NB: -mod.bbp <- glm.nb(number_of_BBP ~ acoustic + fishing_net + behavior +mod.bbp <- glm.nb(number_of_bbp ~ acoustic + fishing_net + behavior + offset(log(number)), -data=bbp.dta) +data=acoustic.dta) car::Anova(mod.bbp, type=3) dwtest(mod.bbp) # H0 -> independent if p>0.05 (autocorrelation if p<0.05) bptest(mod.bbp) # H0 -> homoscedasticity if p<0.05 # Normality not needed in GLM, hypotheses verified ! mod.bbp$deviance/mod.bbp$df.residual -# slight underdispersion -### Model for Buzzes -# No normality of residuals for LM -# overdispersion with GLM quasipoisson -# underdispersion with glm NB -# Try with ZINB: -mod.buzz <- glm.nb(Buzz ~ behavior + acoustic * fishing_net -+ offset(log(number)), -data=bbp.dta) -car::Anova(mod.buzz, type=3) -dwtest(mod.buzz) # H0 -> independent if p>0.05 (autocorrelation if p<0.05) -bptest(mod.buzz) # H0 -> homoscedasticity if p<0.05 -mod.buzz$df.null/mod.buzz$df.residual -# No overdispersion -### Model for Burst-pulses -# No normality of residuals for LM -# overdispersion with quasipoisson -# underdispersion with NB -# ZINB is working : -mod.burst.pulse <- zeroinfl(Burst.pulse ~ fishing_net + acoustic + behavior -+ offset(log(number)), dist="negbin", -data=bbp.dta) -car::Anova(mod.burst.pulse, type=3) -dwtest(mod.burst.pulse) # H0 -> independent if p>0.05 (autocorrelation if p<0.05) -bptest(mod.burst.pulse) # H0 -> homoscedasticity if p<0.05 -mod.burst.pulse$df.null/mod.burst.pulse$df.residual # -> Overdispersion of != 1 -# no overdispersion +# slight underdispersion, not improved with ZINB so we keep this +### Model for clicks +# Using NB model: +mod.cli <- glm.nb(number_of_clicks ~ acoustic + fishing_net + acoustic:fishing_net + offset(log(number)), +data=acoustic.dta) +car::Anova(mod.cli, type=3) +shapiro.test(residuals(mod.cli)) # H0 : normality -> cannot be rejected if p > 0.05 +dwtest(mod.cli) # H0 -> independent if p>0.05 (autocorrelation if p<0.05) +bptest(mod.cli) # H0 -> homoscedasticity if p<0.05 +# Normality not needed in GLM, hypotheses verified ! +mod.cli$deviance/mod.cli$df.residual +# slight overdispersion. (ZINB does not clearly improve results so we keep this) +# FYI1: Comparison of combination of explanatory variables between models +# were compared based on BIC criterion. +# The model with the lowest BIC was kept (and is the one shown) +# FYI2: log(number of dolphin per group) does have an effect on data but we have +# no interest in investigating it, that is why we use it as an offset. ##################### Boxplots and comparisons ##################### ### Functions to compute stats computeLetters <- function(temp, category) { @@ -342,10 +251,10 @@ height, xname="", colours="black", legend_title="", legend_labs="",ytitle=""){ if (!is.null(signif)){colnames(signif)[1] <- "use"} dta %>% mutate(use=fct_relevel({{category}}, old_names)) %>% -ggplot(aes(x=use, y=mean, group={{fill}}, fill={{fill}},color={{fill}}, na.rm = TRUE)) + +ggplot(aes(x=use, y=mean, group={{fill}}, fill={{fill}},color={{fill}})) + {if(length(colours)==1)geom_point(color=colours, position=position_dodge(.5))}+ -{if(length(colours)>=2)geom_point(position=position_dodge(.5), show.legend = FALSE)}+ -{if(length(colours)>=2)scale_color_manual(values=colours, name=legend_title, labels=legend_labs)}+ +{if(length(colours)==2)geom_point(position=position_dodge(.5), show.legend = FALSE)}+ +{if(length(colours)==2)scale_color_manual(values=colours, name=legend_title, labels=legend_labs)}+ scale_x_discrete(breaks=old_names, labels=new_names)+ ylab(ytitle)+ @@ -357,156 +266,247 @@ geom_errorbar(aes(x=use, ymin=mean-ic, ymax=mean+ic), position=position_dodge(.5 } ####Introducing variables averaged per dolphins #### # since we introduced an offset, variables can be divided by the number of dolphins -bbp.dta$BBPs_per_dolphin <- bbp.dta$number_of_BBP/bbp.dta$number -bbp.dta$Buzz_per_dolphin <- bbp.dta$Buzz/bbp.dta$number -bbp.dta$Burst.pulse_per_dolphin <- bbp.dta$Burst.pulse/bbp.dta$number -#### Fishing nets plots #### -par(mfrow=c(3, 1)) -# BBPs -table <- cld(emmeans(mod.bbp, pairwise~fishing_net, adjust="tukey"), Letters = letters) +acoustic.dta$whistling_time_per_dolphin <- acoustic.dta$total_whistles_duration/acoustic.dta$number +acoustic.dta$BBPs_per_dolphin <- acoustic.dta$number_of_bbp/acoustic.dta$number +acoustic.dta$clicks_per_dolphin <- acoustic.dta$number_of_clicks/acoustic.dta$number +#### Fishing net #### +# whistles +table <- cld(emmeans(mod.whi, pairwise~fishing_net, adjust="tukey"), Letters = letters) myletters_df <- data.frame(fishing_net=table$fishing_net, letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, fishing_net, BBPs_per_dolphin), +barPlot(computeStats(acoustic.dta, fishing_net, whistling_time_per_dolphin/375), # 375 bins = 1 sec myletters_df, fishing_net, old_names = c("SSF","F"), new_names = c("Absent", "Present"), -xname="Presence/Asence of fishing net", height=.6, -ytitle="Mean number of BBP per dolphin per min") -# Buzz -table <- cld(emmeans(mod.buzz, pairwise~fishing_net, adjust="tukey"), Letters = letters) +xname="Presence/Asence of fishing net", height=.5, +ytitle="Mean whistling time per dolphin per min") +# BBP +table <- cld(emmeans(mod.bbp, pairwise~fishing_net, adjust="tukey"), Letters = letters) myletters_df <- data.frame(fishing_net=table$fishing_net, letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, fishing_net, Buzz_per_dolphin), +barPlot(computeStats(acoustic.dta, fishing_net, BBPs_per_dolphin), myletters_df, fishing_net, -ytitle="Mean number of Buzzes per dolphin per min", old_names = c("SSF","F"), new_names = c("Absent", "Present"), -xname="Presence/Asence of fishing net", height=.45) -# Burst-pulse -table <- cld(emmeans(mod.burst.pulse, pairwise~fishing_net, adjust="tukey"), Letters = letters) +xname="Presence/Asence of fishing net", height=.6, +ytitle="Mean number of BBPs per dolphin per min") +# Clicks +table <- cld(emmeans(mod.cli, pairwise~fishing_net, adjust="tukey"), Letters = letters) myletters_df <- data.frame(fishing_net=table$fishing_net, letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, fishing_net, Burst.pulse_per_dolphin), +barPlot(computeStats(acoustic.dta, fishing_net, clicks_per_dolphin), myletters_df, fishing_net, -ytitle="Mean number of Burst-pulses per dolphin per min", old_names = c("SSF","F"), new_names = c("Absent", "Present"), -xname="Presence/Asence of fishing net", height=.18, ) +xname="Presence/Asence of fishing net", height=100, +ytitle="Mean number of clicks per dolphin per min") #### Acoustic plots #### -# BBPs -table <- cld(emmeans(mod.bbp, pairwise~acoustic, adjust="tukey"), Letters = letters) -myletters_df <- data.frame(acoustic=table$acoustic, -letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, acoustic, BBPs_per_dolphin), -myletters_df, acoustic, height=.9, ytitle="Mean number of BBPs per dolphin per min", +# Whistles +table <- cld(emmeans(mod.whi, pairwise~acoustic, adjust="tukey"), Letters = letters) +myletters_df <- data.frame(acoustic=table$acoustic,letter = trimws(table$.group)) +barPlot(computeStats(acoustic.dta, acoustic, whistling_time_per_dolphin/375), +myletters_df, acoustic, height=0.65, ytitle="Mean whistling time per dolphin per min", old_names = c("AV","AV+D","D","D+AP","AP"), new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), xname="Activation sequence") -# Buzz -table <- cld(emmeans(mod.buzz, pairwise~acoustic, adjust="tukey"), Letters = letters) -myletters_df <- data.frame(acoustic=table$acoustic, -letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, acoustic, Buzz_per_dolphin), -myletters_df, acoustic, height=0.45, ytitle="Mean number of Buzzes per dolphin per min", +# BBPs +table <- cld(emmeans(mod.bbp, pairwise~acoustic, adjust="tukey"), Letters = letters) +myletters_df <- data.frame(acoustic=table$acoustic,letter = trimws(table$.group)) +barPlot(computeStats(acoustic.dta, acoustic, BBPs_per_dolphin), +myletters_df, acoustic, height=1.2, ytitle="Mean number of BBPs per dolphin per min", old_names = c("AV","AV+D","D","D+AP","AP"), new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), xname="Activation sequence") -# Burst-pulse -table <- cld(emmeans(mod.burst.pulse, pairwise~acoustic, adjust="tukey"), Letters = letters) -myletters_df <- data.frame(acoustic=table$acoustic, -letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, acoustic, Burst.pulse_per_dolphin), -myletters_df, acoustic, height=0.5, ytitle="Mean number of Burst-pulses per dolphin per min", +# Clicks +table <- cld(emmeans(mod.cli, pairwise~acoustic, adjust="tukey"), Letters = letters) +myletters_df <- data.frame(acoustic=table$acoustic,letter = trimws(table$.group)) +barPlot(computeStats(acoustic.dta, acoustic, clicks_per_dolphin), +myletters_df, acoustic, height=155, ytitle="Mean number of clicks per dolphin per min", old_names = c("AV","AV+D","D","D+AP","AP"), new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), xname="Activation sequence") -#### Behaviour plots #### -# BBPs -table <- cld(emmeans(mod.bbp, pairwise~behavior, adjust="tukey"), Letters = letters) -myletters_df <- data.frame(acoustic=table$behavior,letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, behavior, BBPs_per_dolphin), -myletters_df, behavior, height=1.2, ytitle="Mean number of BBPs per dolphin per min", -old_names = c("CHAS", "DEPL", "SOCI"), -new_names = c("Foraging", "Travelling", "Socialising"), -xname="Behaviours of dolphins") -# Buzz -table <- cld(emmeans(mod.buzz, pairwise~behavior, adjust="tukey"), Letters = letters) -myletters_df <- data.frame(acoustic=table$behavior,letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, behavior, Buzz_per_dolphin), -myletters_df, behavior, height=1, ytitle="Mean number of Buzzes per dolphin per min", -old_names = c("CHAS", "DEPL", "SOCI"), -new_names = c("Foraging", "Travelling", "Socialising"), -xname="Behaviours of dolphins") -# Burst-pulse -table <- cld(emmeans(mod.burst.pulse, pairwise~behavior, adjust="tukey"), Letters = letters) -myletters_df <- data.frame(acoustic=table$behavior,letter = trimws(table$.group)) -barPlot(computeStats(bbp.dta, behavior, Burst.pulse_per_dolphin), -myletters_df, behavior, height=0.4, ytitle="Mean number of Burst-pulses per dolphin per min", -old_names = c("CHAS", "DEPL", "SOCI"), -new_names = c("Foraging", "Travelling", "Socialising"), -xname="Behaviours of dolphins") -#### Interaction : acoustic:fishing_net plots #### -# BBP -letters_df <- computeLetters(emmeans(mod.bbp, pairwise~acoustic:fishing_net, adjust="tukey"), +#### Interaction fishing_net:acoustic plots #### +# Whistles +letters_df <- computeLetters(emmeans(mod.whi, pairwise~fishing_net:acoustic, adjust="tukey"), "fishing_net") -letters_df$acoustic <- computeLetters(emmeans(mod.bbp, pairwise~acoustic:fishing_net, adjust="tukey"), +letters_df$acoustic <- computeLetters(emmeans(mod.whi, pairwise~fishing_net:acoustic, adjust="tukey"), "acoustic")$acoustic letters_df <- letters_df[, c("acoustic","fishing_net","letter")] letters_df$letter <- gsub(" ", "", letters_df$letter) -barPlot(computeStats(bbp.dta, fishing_net, BBPs_per_dolphin, two=acoustic), +barPlot(computeStats(acoustic.dta, fishing_net, whistling_time_per_dolphin/375, two=acoustic), NULL, acoustic, fill=fishing_net, -old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean number of BBPs per dolphin per min", +old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean whistling time per dolphin per min", new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), -xname="Activation sequence", height=c(1.6), +xname="Activation sequence", height=c(.95,.95,.95,1,.95,1,.95,1,1,1), colours=c("#E69F00","#999999"), size=5, legend_title="Fishing net", legend_labs=c("Present", "Absent")) -# Buzz -letters_df <- computeLetters(emmeans(mod.buzz, pairwise~acoustic:fishing_net, adjust="tukey"), +# BBPs +letters_df <- computeLetters(emmeans(mod.bbp, pairwise~fishing_net:acoustic, adjust="tukey"), "fishing_net") -letters_df$acoustic <- computeLetters(emmeans(mod.buzz, pairwise~acoustic:fishing_net, adjust="tukey"), +letters_df$acoustic <- computeLetters(emmeans(mod.bbp, pairwise~fishing_net:acoustic, adjust="tukey"), "acoustic")$acoustic letters_df <- letters_df[, c("acoustic","fishing_net","letter")] letters_df$letter <- gsub(" ", "", letters_df$letter) -barPlot(computeStats(bbp.dta, fishing_net, Buzz_per_dolphin, two=acoustic), +barPlot(computeStats(acoustic.dta, fishing_net, BBPs_per_dolphin, two=acoustic), NULL, acoustic, fill=fishing_net, -old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean number of Buzzes per dolphin per min", +old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean number of BBPs per dolphin per min", new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), -xname="Activation sequence", height=c(0.77,0.77,0.8,0.77,0.77,0.8,0.77,0.8,0.8,0.8), +xname="Activation sequence", height=c(1.65,1.65,1.72,1.65,1.72,1.65,1.65,1.72,1.72,1.72), colours=c("#E69F00","#999999"), size=5, legend_title="Fishing net", legend_labs=c("Present", "Absent")) -# Burst-pulse -letters_df <- computeLetters(emmeans(mod.burst.pulse, pairwise~acoustic:fishing_net, adjust="tukey"), +# Clicks +letters_df <- computeLetters(emmeans(mod.cli, pairwise~fishing_net:acoustic, adjust="tukey"), "fishing_net") -letters_df$acoustic <- computeLetters(emmeans(mod.burst.pulse, pairwise~acoustic:fishing_net, adjust="tukey"), +letters_df$acoustic <- computeLetters(emmeans(mod.cli, pairwise~fishing_net:acoustic, adjust="tukey"), "acoustic")$acoustic letters_df <- letters_df[, c("acoustic","fishing_net","letter")] letters_df$letter <- gsub(" ", "", letters_df$letter) -barPlot(computeStats(bbp.dta, fishing_net, Burst.pulse_per_dolphin, two=acoustic), +barPlot(computeStats(acoustic.dta, fishing_net, clicks_per_dolphin, two=acoustic), NULL, acoustic, fill=fishing_net, -old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean number of Burst-pulses per dolphin per min", +old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean number of clicks per dolphin per min", new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), -xname="Activation sequence", height=c(0.9,0.85,0.9,0.9,0.85,0.9,0.85,0.9,0.85,0.85), +xname="Activation sequence", height=c(180,180,187,187,180,187,180,180,187,187), colours=c("#E69F00","#999999"), size=5, legend_title="Fishing net", legend_labs=c("Present", "Absent")) -#### Interaction : acoustic:behavior plots #### -# BBP -barPlot(computeStats(bbp.dta, behavior, BBPs_per_dolphin, two=acoustic), -NULL, acoustic, fill=behavior, -old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean number of BBPs per dolphin per min", -new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), -xname="Activation sequence", -colours=c("#E69F00","#55c041", "#FF3814"), size=5, -legend_title="Behaviour", legend_labs= c("Foraging", "Travelling", "Socialising")) -# Buzz -barPlot(computeStats(bbp.dta, behavior, Buzz_per_dolphin, two=acoustic), -NULL, acoustic, fill=behavior, -old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean number of Buzzes per dolphin per min", -new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), -xname="Activation sequence", -colours=c("#E69F00","#55c041", "#FF3814"), size=5, -legend_title="Behaviour", legend_labs= c("Foraging", "Travelling", "Socialising")) -# Burst-pulse -barPlot(computeStats(bbp.dta, behavior, Burst.pulse_per_dolphin, two=acoustic), -NULL, acoustic, fill=behavior, -old_names = c("AV","AV+D","D","D+AP","AP"), ytitle="Mean number of Burst-pulses per dolphin per min", -new_names = c("BEF","BEF+DUR","DUR", "DUR+AFT", "AFT"), -xname="Activation sequence", -colours=c("#E69F00","#55c041", "#FF3814"), size=5, -legend_title="Behaviour", legend_labs= c("Foraging", "Travelling", "Socialising")) +#### Behaviour plots #### +# Whistles +table <- cld(emmeans(mod.whi, pairwise~behavior, adjust="tukey"), Letters = letters) +myletters_df <- data.frame(behavior=table$behavior,letter = trimws(table$.group)) +barPlot(computeStats(acoustic.dta, behavior, whistling_time_per_dolphin/375), +myletters_df, behavior, height=0.75, ytitle="Mean whistling time per dolphin per min", +old_names = c("CHAS", "DEPL", "SOCI"), +new_names = c("Foraging", "Travelling", "Socialising"), +xname="Behaviours of dolphins") +# BBPs +# real effect measured in model +table <- cld(emmeans(mod.bbp, pairwise~behavior, adjust="tukey"), Letters = letters) +myletters_df <- data.frame(acoustic=table$behavior,letter = trimws(table$.group)) +barPlot(computeStats(acoustic.dta, behavior, BBPs_per_dolphin), +myletters_df, behavior, height=1.2, ytitle="Mean number of BBPs per dolphin per min", +old_names = c("CHAS", "DEPL", "SOCI"), +new_names = c("Foraging", "Travelling", "Socialising"), +xname="Behaviours of dolphins") +# Clicks +# no significant effect in click statistical model so all the same letters +myletters_df <- data.frame(behavior=unique(acoustic.dta$behavior), +letter = rep("a",length(unique(acoustic.dta$behavior)))) +barPlot(computeStats(acoustic.dta, behavior, clicks_per_dolphin), +myletters_df, +behavior, old_names = c("CHAS", "DEPL", "SOCI"), +new_names = c("Foraging", "Travelling", "Socialising"), +xname="Behaviours of dolphins", height=150, +ytitle="Mean number of clicks per dolphin per min") +#### Nets plots + KW analysis #### +# Whistles +#KW test +kruskal.test(acoustic.dta$whistling_time_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$whistling_time_per_dolphin, acoustic.dta$net) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +letter = c("a","ad","bd","cd","a")) +barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), +myletters_df, +net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), +xname="Fishing nets", height=.6, +ytitle="Mean whistling time per dolphin per min")+ +theme(axis.text.x=element_text(size=8.5)) +# BBPs +#KW test +kruskal.test(acoustic.dta$BBPs_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$BBPs_per_dolphin, acoustic.dta$net,) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +letter = c("a","a","a","a","a")) +barPlot(computeStats(acoustic.dta, net, BBPs_per_dolphin), +myletters_df, +net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), +xname="Fishing nets", height=.8, +ytitle="Mean number of BBPs per dolphin per min")+ +theme(axis.text.x=element_text(size=8.5)) +# Clicks +#KW test +kruskal.test(acoustic.dta$clicks_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$clicks_per_dolphin, acoustic.dta$net) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +letter = c("ae","ad","bd","cd","e")) +barPlot(computeStats(acoustic.dta, net, clicks_per_dolphin), +myletters_df, +net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), +new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), +xname="Fishing nets", height=120, +ytitle="Mean number of clicks per dolphin per min")+ +theme(axis.text.x=element_text(size=8.5)) +#### : Beacon plots + KW analysis (letters not shown for lisibility) #### +# Whistles +#KW test +kruskal.test(acoustic.dta$whistling_time_per_dolphin ~ acoustic.dta$beacon) +barPlot(computeStats(acoustic.dta, beacon, whistling_time_per_dolphin/375), +NULL, +beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), +xname="Signals from bio-inspired beacon", height=0.9, size=3, +ytitle="Mean whistling time per dolphin per min")+ +theme(axis.text.x=element_text(size=8))+ +scale_x_discrete(guide=guide_axis(n.dodge = 2)) +# NC stands for "Unknown". Corresponding to categories where the beacon was not turned on yet ('BEF') +# BBPs +#KW test +kruskal.test(acoustic.dta$BBPs_per_dolphin ~ acoustic.dta$beacon) +barPlot(computeStats(acoustic.dta, beacon, BBPs_per_dolphin), +NULL, +beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), +xname="Signals from bio-inspired beacon", height=0.5, size=3, +ytitle="Mean number of BBPs per dolphin per min")+ +theme(axis.text.x=element_text(size=8))+ +scale_x_discrete(guide=guide_axis(n.dodge = 2)) +# NC stands for "Unknown". Corresponding to categories where the beacon was not turned on yet ('BEF') +# Clicks +#KW test +kruskal.test(acoustic.dta$clicks_per_dolphin ~ acoustic.dta$beacon) +barPlot(computeStats(acoustic.dta, beacon, clicks_per_dolphin), +NULL, +beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), +xname="Signals from bio-inspired beacon", height=150, size=3, +ytitle="Mean number of clicks per dolphin per min")+ +theme(axis.text.x=element_text(size=8))+ +scale_x_discrete(guide=guide_axis(n.dodge = 2)) +# NC stands for "Unknown". Corresponding to categories where the beacon was not turned on yet ('BEF') +#### WHY NOT: Number plots #### +# Whistles +numb_stats_w <- computeStats(acoustic.dta, number, total_whistles_duration/375) +numb_stats_w[is.na(numb_stats_w)] <- 0 +numb_stats_w$number <- as.factor(numb_stats_w$number) +numb_stats_w %>% +ggplot(aes(x=number, y=mean, group=1)) + +geom_errorbar(aes(x=number, ymin=mean-ic, ymax=mean+ic), +color="red", width=.1, show.legend = FALSE)+ +geom_point() + geom_line() + +theme_classic() + theme(text=element_text(size=12)) + +ylab("Mean whistling time per min")+ +xlab("Number of dolphins in group") +# BBPs +numb_stats_b <- computeStats(acoustic.dta, number, number_of_bbp) +numb_stats_b[is.na(numb_stats_b)] <- 0 +numb_stats_b$number <- as.factor(numb_stats_b$number) +numb_stats_b %>% +ggplot(aes(x=number, y=mean, group=1)) + +geom_errorbar(aes(x=number, ymin=mean-ic, ymax=mean+ic), +color="red", width=.1, show.legend = FALSE)+ +geom_point() + geom_line() + +theme_classic() + theme(text=element_text(size=12)) + +ylab("Number of BBPs per min")+ +xlab("Number of dolphins in group") +# Clicks +numb_stats_c <- computeStats(acoustic.dta, number, number_of_clicks) +numb_stats_c[is.na(numb_stats_c)] <- 0 +numb_stats_c$number <- as.factor(numb_stats_c$number) +numb_stats_c %>% +ggplot(aes(x=number, y=mean, group=1)) + +geom_errorbar(aes(x=number, ymin=mean-ic, ymax=mean+ic), +color="red", width=.1)+ +geom_point() + geom_line() + +theme_classic() + theme(text=element_text(size=12)) + +ylab("Mean number of clicks per min")+ +xlab("Number of echolocation clicks in group") diff --git a/Stats/BBP-click-whistles_3models.R b/Stats/BBP-click-whistles_3models.R index bb0189522fa0c7c5508fcb192d6d95fe81a52650..c096726eff398d5a7020bd5c98509cf0fb4726dc 100644 --- a/Stats/BBP-click-whistles_3models.R +++ b/Stats/BBP-click-whistles_3models.R @@ -15,6 +15,7 @@ library(stringr) # "gsub" function library(rcompanion) # "fullPTable" function library(multcompView) # "multcompLetters" function library(ggplot2) +library(pgirmess) #library(tidyquant) # geom_ma() if rolling average needed @@ -386,55 +387,60 @@ barPlot(computeStats(acoustic.dta, behavior, clicks_per_dolphin), xname="Behaviours of dolphins", height=150, ytitle="Mean number of clicks per dolphin per min") -#### NEEDS MORE DATA: Nets plots + KW analysis #### +#### Nets plots + KW analysis #### # Whistles -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$whistling_time_per_dolphin, - acoustic.dta$net,p.adjust = "bonferroni")$p.value)) -myletters_df <- data.frame(net=names(letters$Letters), - letter = unname(letters$Letters)) -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional +#KW test +kruskal.test(acoustic.dta$whistling_time_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$whistling_time_per_dolphin, acoustic.dta$net) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), + letter = c("a","ad","bd","cd","a")) barPlot(computeStats(acoustic.dta, net, whistling_time_per_dolphin/375), - myletters_df, - net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), - new_names = c("no net", "white trawl", "green trawl", "tremail"), + NULL, + net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), + new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), xname="Fishing nets", height=.6, ytitle="Mean whistling time per dolphin per min")+ theme(axis.text.x=element_text(size=8.5)) # BBPs -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$BBPs_per_dolphin, - acoustic.dta$net,p.adjust = "BH")$p.value)) -myletters_df <- data.frame(net=names(letters$Letters), - letter = unname(letters$Letters)) -#myletters_df$letter <- rep("", length(myletters_df$letter)) # optional +#KW test +kruskal.test(acoustic.dta$BBPs_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$BBPs_per_dolphin, acoustic.dta$net) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), + letter = c("a","a","a","a","a")) barPlot(computeStats(acoustic.dta, net, BBPs_per_dolphin), - myletters_df, - net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), - new_names = c("no net", "white trawl", "green trawl", "tremail"), + NULL, + net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), + new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), xname="Fishing nets", height=.8, ytitle="Mean number of BBPs per dolphin per min")+ theme(axis.text.x=element_text(size=8.5)) # Clicks -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$clicks_per_dolphin, - acoustic.dta$net,p.adjust = "BH")$p.value)) -myletters_df <- data.frame(net=names(letters$Letters), - letter = unname(letters$Letters)) +#KW test +kruskal.test(acoustic.dta$clicks_per_dolphin ~ acoustic.dta$net) +# p<0.05 so post-hoc +kruskalmc(acoustic.dta$clicks_per_dolphin, acoustic.dta$net) +# DIY : letters +myletters_df <- data.frame(net=c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), + letter = c("ae","ad","bd","cd","e")) barPlot(computeStats(acoustic.dta, net, clicks_per_dolphin), - myletters_df, - net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail"), - new_names = c("no net", "white trawl", "green trawl", "tremail"), + NULL, + net, old_names = c("SSF", "chalut_blanc", "chalut_vert", "tremail", "grand_filet"), + new_names = c("Absent", "Nylon trawl net", "PE trawl net", "Gill net", "Long gill net"), xname="Fishing nets", height=120, ytitle="Mean number of clicks per dolphin per min")+ theme(axis.text.x=element_text(size=8.5)) -#### NEEDS MORE DATA: Beacon plots + optional KW analysis #### +#### : Beacon plots + KW analysis (letters not shown for lisibility) #### # Whistles -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$whistling_time_per_dolphin, - acoustic.dta$beacon,p.adjust = "BH")$p.value)) -myletters_df <- data.frame(beacon=names(letters$Letters), - letter = unname(letters$Letters)) +#KW test +kruskal.test(acoustic.dta$whistling_time_per_dolphin ~ acoustic.dta$beacon) barPlot(computeStats(acoustic.dta, beacon, whistling_time_per_dolphin/375), NULL, beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), @@ -445,13 +451,8 @@ barPlot(computeStats(acoustic.dta, beacon, whistling_time_per_dolphin/375), # NC stands for "Unknown". Corresponding to categories where the beacon was not turned on yet ('BEF') # BBPs -letters <- fullPTable(pairwise.wilcox.test(acoustic.dta$BBPs_per_dolphin, - acoustic.dta$beacon,p.adjust = "BH")$p.value) -letters[is.na(letters)] <- 0 # errors appears, we really should not compare these -letters <- multcompLetters(letters) - -myletters_df <- data.frame(beacon=names(letters$Letters), - letter=unname(letters$Letters)) +#KW test +kruskal.test(acoustic.dta$BBPs_per_dolphin ~ acoustic.dta$beacon) barPlot(computeStats(acoustic.dta, beacon, BBPs_per_dolphin), NULL, beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), @@ -462,10 +463,8 @@ barPlot(computeStats(acoustic.dta, beacon, BBPs_per_dolphin), # NC stands for "Unknown". Corresponding to categories where the beacon was not turned on yet ('BEF') # Clicks -letters <- multcompLetters(fullPTable(pairwise.wilcox.test(acoustic.dta$clicks_per_dolphin, - acoustic.dta$beacon,p.adjust = "BH")$p.value)) -myletters_df <- data.frame(beacon=names(letters$Letters), - letter=unname(letters$Letters)) +#KW test +kruskal.test(acoustic.dta$clicks_per_dolphin ~ acoustic.dta$beacon) barPlot(computeStats(acoustic.dta, beacon, clicks_per_dolphin), NULL, beacon, old_names = names(letters$Letters), new_names = names(letters$Letters), diff --git a/Stats/stats_Buzz_Burst-pulse.R b/Stats/stats_Buzz_Burst-pulse.R index 39d5617e25c8c5d58116d9320ec1eae5aa900c71..43d154bd079ca9e1d2e6fedfa23ec94989491057 100644 --- a/Stats/stats_Buzz_Burst-pulse.R +++ b/Stats/stats_Buzz_Burst-pulse.R @@ -145,7 +145,7 @@ mod.bbp$deviance/mod.bbp$df.residual # overdispersion with GLM quasipoisson # underdispersion with glm NB # Try with ZINB: -mod.buzz <- glm.nb(Buzz ~ behavior + acoustic * fishing_net +mod.buzz <- glm.nb(Buzz ~ behavior + fishing_net + acoustic + offset(log(number)), data=bbp.dta) car::Anova(mod.buzz, type=3) @@ -263,7 +263,11 @@ barPlot(computeStats(bbp.dta, acoustic, BBPs_per_dolphin), # Buzz table <- cld(emmeans(mod.buzz, pairwise~acoustic, adjust="tukey"), Letters = letters) myletters_df <- data.frame(acoustic=table$acoustic, - letter = trimws(table$.group)) + letter = trimws(table$.group))myletters_df <- data.frame(acoustic=c("AP","AV","AV+D","D","D+AP"), letter = c("a","a","a","a","a")) +#error, no acoustic in model: +myletters_df <- data.frame(acoustic=c("AP","AV","AV+D","D","D+AP"), + letter = c("a","a","a","a","a")) + barPlot(computeStats(bbp.dta, acoustic, Buzz_per_dolphin), myletters_df, acoustic, height=0.45, ytitle="Mean number of Buzzes per dolphin per min", old_names = c("AV","AV+D","D","D+AP","AP"), diff --git a/Whistles/Evaluation/whistles_durations.csv b/Whistles/Evaluation/whistles_durations.csv index db98339d3a024e465ccfdacbe5be00f951b3d025..bcc194f5e2dc206ea5ea371759430b3c419d3c82 100644 --- a/Whistles/Evaluation/whistles_durations.csv +++ b/Whistles/Evaluation/whistles_durations.csv @@ -39,18 +39,18 @@ total_whistles_duration,acoustic,fishing_net,behavior,beacon,date,number,net,aud 13,D,SSF,DEPL,DC,09/07/2021,6,SSF,SCW6070_20210709_095700 0,D,SSF,DEPL,DC,09/07/2021,6,SSF,SCW6070_20210709_095800 0,D,SSF,DEPL,DC,09/07/2021,6,SSF,SCW6070_20210709_095900 -0,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100000 -0,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100100 -0,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100200 -537,D,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100300 -0,D+AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100400 -0,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100500 -0,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100600 -150,AP,F,DEPL,DC,09/07/2021,6,tremail,SCW6070_20210709_100700 -121,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102700 -74,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102800 -11,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_102900 -0,T,F,DEPL,DC,09/07/2021,14,tremail,SCW6070_20210709_103000 +0,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100000 +0,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100100 +0,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100200 +537,D,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100300 +0,D+AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100400 +0,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100500 +0,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100600 +150,AP,F,DEPL,DC,09/07/2021,6,grand_filet,SCW6070_20210709_100700 +121,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102700 +74,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102800 +11,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_102900 +0,T,F,DEPL,DC,09/07/2021,14,grand_filet,SCW6070_20210709_103000 1515,T,SSF,CHAS,DC,09/07/2021,15,SSF,SCW6070_20210709_104100 2700,T,SSF,CHAS,DC,09/07/2021,15,SSF,SCW6070_20210709_104200 3348,T,SSF,CHAS,DC,09/07/2021,20,SSF,SCW6070_20210709_104300