[R] What is best way to calculate % of time?

Neotropical bat risk assessments neotrop|c@|@b@t@ @end|ng |rom gm@||@com
Wed Dec 25 22:51:39 CET 2019


Tnx John,
Yep failed to "reply all" my bad.

Yes the mix of "information" on call type and species are in the same 
field.  It will be a single mouse click to export only the "buzz" data 
from the master DB as a separate CSV file from the species data. So this 
could be a new DF/data set for R.
This is due to the legacy issues of how the acoustic data are added to 
the metadata of the bat call recordings.
Combining date and times does not provide for sampling nights that roll 
over after midnight.

I may need to reread Hadley's Tidy Data manifesto re: data handling ;-).

The location, date and time does provide unique variables.
Duplicate times mentioned are the "duplicated" values you noted. This 
happens as the actual call files include seconds for a more precise time 
when the recordings were made.  Rounding to nearest minute suffices for 
a summary of total minutes spent  with "feeding attempts" vs total 
active time.

The data being gathered is reviewed in a purpose build bat acoustic 
software program when reviewing bat call files.  The metadata include 
the "Who", "Where" & "When" recorded. What is added to this as the 
acoustic files are reviewed are information on call types and species IDs.

This metadata is exported as a TXT file and imported into a master 
Access DB I developed over the past 15 years to manage "BIG DATA" as 
they say.  As a note I currently it have >1.9 million acoustic call 
records store in the relational DB.

The data output/exported from the DB is sufficient to provide wonderful 
temporal activity plots using GGplot2.  Original code for this was 
developed with huge assistance from Hadley eons ago and updated to more 
recent R releases and packages by a few others.

The graphics are great to visualize temporal activity but do not provide 
a simple summary of amount of time spent "foraging AKA feeding buzz 
data" vs total activity time for each species.

Perhaps this is /was not a simple question on how to summarize time data 
to derive a % of each category, be it "buzz" or species.

Tnx again,
Bruce


>
> Hi Bruce,
> You replied just to me. I have taken the liberty of cc:ing R-help as 
> there lots of more knowledgeable people than me there who may be able 
> to help.
> In the meantime I remain confused.
> Here is my impression of the sample data that you supplied. I have 
> combined Date & Time into a single POSIXct variable, dtime. Just paste 
> it into <b>R</b>
> ##===============================================================##
> dat2 <- structure(list(Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
> 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
> 3L, 3L), .Label = c("Buzz", "Ptedav", "Ptemes"), class = "factor"), 
> Location = c(7716L, 7716L, 7716L, 7716L, 7716L, 7716L, 7716L, 7717L, 
> 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 
> 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 
> 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 7717L, 
> 7717L, 7717L, 7717L, 7717L), dtime = structure(c(948758700, 948758700, 
> 948758700, 948761220, 948761220, 948761220, 948761220, 962655420, 
> 962655420, 962655420, 962655420, 962656200, 962656200, 962656200, 
> 962656200, 962655240, 962655300, 962655300, 962655300, 962655300, 
> 962655300, 962655420, 962655420, 962655420, 962655480, 962655480, 
> 962655480, 962655480, 962655480, 962666100, 962666460, 962666520, 
> 962666580, 962666700, 962666760, 962666820, 962666880, 962666940, 
> 962667180, 962667300, 962667360, 962667420), class = c("POSIXct", 
> "POSIXt"), tzone = "UTC")), class = "data.frame", row.names = c(NA, -42L))
> ##===============================================================##
> <b>The 6 letter species codes relate to individual bat species and the 
> Buzz = Feeding buzz that indicates a feeding attempt by a given bat. 
> So the "codes" are both species and information on the call type.</b>
> But, at the moment you have two variables in the one column, Species: 
> The type of bat and feeding behaviour.
> <b>The date/time is when the species was recorded and is linked to the 
> location.</b>
> Okay. Will this give us a unique key?
> <b>Therefore to run the summary stats I need I will need to remove the 
> duplicate times that are rounded to the minute</b>
> What duplicate times? Where are they? When are they rounded?
> I have never used Access. Will it produce a data dictionary? Can it 
> export a small subset of the relevant data to another Access DB, some 
> other DB or in .csv format? At the moment I just cannot visualize what 
> your data layout looks like.
> Can you point us to any documentation that explains what information 
> in being gathered—preferably in simple–minded English?
>
> On Wed, 25 Dec 2019 at 12:08, Neotropical bat risk assessments 
> <neotropical.bats using gmail.com <mailto:neotropical.bats using gmail.com>> wrote:
>
>     Hi John,
>
>     Likely TMI but....
>
>     The example was only to show the data format, clearly not the
>     entire data set. ;-)
>     Analyses will be by locations, dates and species in any case so
>     small subsets.
>
>     My master relational database has >1.9 million records.  These are
>     acoustic data recordings of bats and includes data fro >425 species.
>
>     The 6 letter species codes relate to individual bat species and
>     the Buzz = Feeding buzz that indicates a feeding attempt by a
>     given bat.  So the "codes" are both species and information on the
>     call type.
>
>     So yes, if a call includes a feeding buzz it is noted as Buzz in
>     addition to the species ID codes..
>     A given 15 second acoustic recording may have up to 5 species
>     recorded and when imported into the relational DB each individual
>     species is parsed into its own record as well as records of call
>     notes e.g. Buzz.
>
>     The date/time is when the species was recorded and is linked to
>     the location.
>     Although the call data summary below is summarized by *minute* the
>     actual data is recorded by time which includes seconds in addition
>     to minutes.
>     So there could be say 3+ files recorded during the same minute but
>     at different time periods as seconds (0-59) are included.
>
>     Therefore to run the summary stats I need I will need to remove
>     the duplicate times that are rounded to the minute.
>
>     Again tnx for taking time to reply.
>
>     Cheers,
>
>     Bruce
>>     I am sorry but I am at a loss here.
>>     According to your sample data you have 3 Species : Buzz,  Ptedav,
>>     Ptemes, but you say that "Buzz" indicates that the bat is feeding.
>>     What has that to do with feeding?
>>
>>     Assuming Buzz is feeding activity, are all incidents of feeding
>>     activity a single point in time?
>>
>>     Likewise the data has multiple entries such as
>>     Ptedav    7717    7/3/2000    20:15
>>     Ptedav    7717    7/3/2000    20:15
>>     Ptedav    7717    7/3/2000    20:15
>>     Ptedav    7717    7/3/2000    20:15
>>
>>     What does that represent?
>>
>>
>>     On Wed, 25 Dec 2019 at 07:29, Neotropical bat risk assessments
>>     <neotropical.bats using gmail.com>  <mailto:neotropical.bats using gmail.com>  wrote:
>>>     Hi all,
>>>
>>>     It seems R has gotten better/more packages in dealing with time data.
>>>
>>>     I want to create "simple" summaries of time for bat activity.
>>>     Data is all in an Access relational database and exported as a CSV file
>>>     with 4 columns in this format:
>>>     Species = a 6 letter code or "Buzz" to indicated when bats are feeding
>>>     Location = a 4 digit number
>>>     Date= MMDDYYYY
>>>     Time=HH:MM (24 hr format)
>>>
>>>     Species    Location    Date    Time
>>>     Buzz    7716    1/25/2000    0:05
>>>     Buzz    7716    1/25/2000    0:05
>>>     Buzz    7716    1/25/2000    0:05
>>>     Buzz    7716    1/25/2000    0:47
>>>     Buzz    7716    1/25/2000    0:47
>>>     Buzz    7716    1/25/2000    0:47
>>>     Buzz    7716    1/25/2000    0:47
>>>     Buzz    7717    7/3/2000    20:17
>>>     Buzz    7717    7/3/2000    20:17
>>>     Buzz    7717    7/3/2000    20:17
>>>     Buzz    7717    7/3/2000    20:17
>>>     Buzz    7717    7/3/2000    20:30
>>>     Buzz    7717    7/3/2000    20:30
>>>     Buzz    7717    7/3/2000    20:30
>>>     Buzz    7717    7/3/2000    20:30
>>>     Ptedav    7717    7/3/2000    20:14
>>>     Ptedav    7717    7/3/2000    20:15
>>>     Ptedav    7717    7/3/2000    20:15
>>>     Ptedav    7717    7/3/2000    20:15
>>>     Ptedav    7717    7/3/2000    20:15
>>>     Ptedav    7717    7/3/2000    20:15
>>>     Ptedav    7717    7/3/2000    20:17
>>>     Ptedav    7717    7/3/2000    20:17
>>>     Ptedav    7717    7/3/2000    20:17
>>>     Ptedav    7717    7/3/2000    20:18
>>>     Ptedav    7717    7/3/2000    20:18
>>>     Ptedav    7717    7/3/2000    20:18
>>>     Ptedav    7717    7/3/2000    20:18
>>>     Ptedav    7717    7/3/2000    20:18
>>>     Ptemes    7717    7/3/2000    23:15
>>>     Ptemes    7717    7/3/2000    23:21
>>>     Ptemes    7717    7/3/2000    23:22
>>>     Ptemes    7717    7/3/2000    23:23
>>>     Ptemes    7717    7/3/2000    23:25
>>>     Ptemes    7717    7/3/2000    23:26
>>>     Ptemes    7717    7/3/2000    23:27
>>>     Ptemes    7717    7/3/2000    23:28
>>>     Ptemes    7717    7/3/2000    23:29
>>>     Ptemes    7717    7/3/2000    23:33
>>>     Ptemes    7717    7/3/2000    23:35
>>>     Ptemes    7717    7/3/2000    23:36
>>>     Ptemes    7717    7/3/2000    23:37
>>>
>>>     The above is clearly not a complete DF but only a format sample. Data
>>>     begins when the first bat was recorded and ends when the last bat was
>>>     recorded.  So all are times from sunset to sunrise.  Dates roll over so
>>>     for example one night of data would begin at 18:00 1/1/2000 and end
>>>     06:00 1/2/2000.
>>>
>>>     What I need to do is have a summary of Buzz events (feeding) and
>>>     calculate the percentage of total time bats were active and have a
>>>     summary of time feeding buzz was recorded and total bat activity to
>>>     determine what percentage of time was spent with feeding attempts over
>>>     the active period.
>>>
>>>     This by all bats by survey night and by single species by survey night.
>>>     Any suggestions welcomed.
>>>
>>>     Happy holidays all
>>>
>>>
>>>     --
>>>     Bruce W. Miller, PhD.
>>>     Neotropical bat risk assessments
>>>     Conservation Fellow - Wildlife Conservation Society
>>>
>>>     If we lose the bats, we may lose much of the tropical vegetation and the lungs of the planet
>>>
>>>     Using acoustic sampling to identify and map species distributions
>>>     and pioneering acoustic tools for ecology and conservation of bats for >25 years.
>>>
>>>     Key projects include providing free interactive identification keys and call fact sheets for the vocal signatures of New World Bats
>>>
>>>     ______________________________________________
>>>     R-help using r-project.org  <mailto:R-help using r-project.org>  mailing list -- To UNSUBSCRIBE and more, see
>>>     https://stat.ethz.ch/mailman/listinfo/r-help
>>>     PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html
>>>     and provide commented, minimal, self-contained, reproducible code.
>>     --
>>     John Kane
>>     Kingston ON Canada
>
>
>     -- 
>     Bruce W. Miller, PhD.
>     Neotropical bat risk assessments
>     Conservation Fellow - Wildlife Conservation Society
>
>     If we lose the bats, we may lose much of the tropical vegetation and the lungs of the planet
>
>     Using acoustic sampling to identify and map species distributions
>     and pioneering acoustic tools for ecology and conservation of bats for >25 years.
>
>     Key projects include providing free interactive identification keys and call fact sheets for the vocal signatures of New World Bats
>
>
>
> -- 
> John Kane
> Kingston ON Canada


-- 
Bruce W. Miller, PhD.
Neotropical bat risk assessments
Conservation Fellow - Wildlife Conservation Society

If we lose the bats, we may lose much of the tropical vegetation and the lungs of the planet

Using acoustic sampling to identify and map species distributions
and pioneering acoustic tools for ecology and conservation of bats for >25 years.

Key projects include providing free interactive identification keys and call fact sheets for the vocal signatures of New World Bats


	[[alternative HTML version deleted]]



More information about the R-help mailing list