[R] Class ltraj and function as.ltraj
Michael Sumner
mdsumner at gmail.com
Thu Oct 2 23:47:36 CEST 2014
You don't detail how you detect that 'there are no duplicates', and
also provide no proof of this. It's not the usual sense of
duplicated(), it needs to be that there are no date-times within a
burst (a single animal's trip/journey/trajectory). Can you try this on
your datetime and burst id and report:
## this tests out ok
datetime <- seq(Sys.time(), by = "3 secs", length = 20)
id <- rep(c("a", "b"), each = 10)
## none should be zero or negative
sapply(split(datetime, id), function(x) min(diff(x)))
## fudge a broken data set
datetime1 <- datetime
datetime1[15] <- datetime1[14]
sapply(split(datetime1, id), function(x) min(diff(x)))
Cheers, Mike.
On Fri, Oct 3, 2014 at 4:30 AM, tandi perkins <idnat at hotmail.com> wrote:
> Hello R Help Group:
>
> I have been struggling to create
> an object of class ltraj with the function as.ltraj (adehabitatLT) with my bird
> data. Regarding my data structure, I
> have GPS for 10 birds that transmit three times/day, over the course of a year
> (with missing data). I have a L10.csv
> file with the following headers: Craneid, Date, Time, Long, Lat, Habitat, ID
> (for burst).
>
>
>
> Step 1: Bring in my data with: “stringsasFactors=FALSE” to convert all variables from Factor (except Lat/Long) to strings. Thanks to David Carlson for that tip! Step 2: Transform my date, time vectors into POSIXct as follows: datetime=as.POSIXct(strptime(paste(L10$Date, L10$Time, sep=" "),format="%m/%d/%Y %H:%M:%S", "America/Chicago")) Thanks to Petr Pikal for that tip! Result: head(datetime)[1] "2011-07-10 17:00:38 CDT" "2011-07-11 00:01:06 CDT"[3] "2011-07-11 08:00:38 CDT" "2011-07-11 17:00:38 CDT"[5] "2011-07-12 00:01:06 CDT" "2011-07-12 08:00:38 CDT" Good so far…. Step 3: Coord=L10[c("Longitude", "Latitude")]> head(Coord) Longitude Latitude1 522598 33602852 522579 33601743 522618 33602744 522656 33601965 522397 33602076 522425 3360285 Good so far….now comes the tricky part for me. Step 4: Craneid=as.character(L10$Craneid) id=as.character(L10$ID)
>
>
>
> Step 5: Test=as.ltraj(Coord, datetime, Craneid, burst=id,
> type=TRUE)
>
>
>
> Drum Roll Please…. Error in
> as.ltraj(Coord, datetime, Craneid, burst = id, typeII = TRUE) :
>
>
> non unique dates for a given burst
>
> I include my data.frame for your
> review.
>
>
>
> head(l10b)
>
>
> Longitude Latitude
> datetime Craneid id
>
> 1 522598
> 3360285 2011-07-10 17:00:38
> L1_10 L1_10
>
> 2 522579
> 3360174 2011-07-11 00:01:06
> L1_10 L1_10
>
> 3 522618
> 3360274 2011-07-11 08:00:38
> L1_10 L1_10
>
> 4 522656
> 3360196 2011-07-11 17:00:38
> L1_10 L1_10
>
> 5 522397
> 3360207 2011-07-12 00:01:06
> L1_10 L1_10
>
> 6 522425
> 3360285 2011-07-12 08:00:38
> L1_10 L1_10
>
>
>
>
> Longitude Latitude
> datetime Craneid id
>
> 3803 558205
> 3346410 2011-04-15 17:00:38
> L5_10 L5_10
>
> 3804 552813
> 3341251 2011-04-16 08:00:38
> L5_10 L5_10
>
> 3805 552784
> 3341373 2011-04-28 08:00:38
> L5_10 L5_10
>
> 3806 552833
> 3341262 2011-04-28 17:00:38
> L5_10 L5_10
>
> 3807 573502
> 3407390 2011-06-21 17:00:38
> L8_10 L8_10
>
> 3808 573271
> 3407499 2011-06-23 08:00:38
> L8_10 L8_10
>
>
>
> I have checked and re-checked for
> duplicates and there are no duplicates. However,
> when ask for duplicates in the datetime I get some “False” but a lot of “True’s”
> So, I am thinking it has to do with the fact that R is not picking up the
> individual birds which were monitored over the same time period.
>
>
>
> How do I structure my data in R to recognize the 10 separate birds with their associated coordinates and time
> stamps?
>
>
>
> I would ultimately like to run
> Bias Bridge Movement on these data but I can’t get from square one! Help!
>
>
>
> Thanks in advance for any and all
> assistance you can provide…You all are so valuable.
> TLP
>
>
>
> [[alternative HTML version deleted]]
>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Michael Sumner
Software and Database Engineer
Australian Antarctic Division
Hobart, Australia
e-mail: mdsumner at gmail.com
More information about the R-help
mailing list