# Rond date to quarterslibrary(lubridate)supsset$DatetimeUTC <-as.POSIXct(supsset$DatetimeUTC, format ="%Y-%m-%d %H:%M:%S", tz ="UTC") supsset <- supsset |>mutate(Round =round_date(DatetimeUTC, unit ="15 mins"))
Task 4
We use left join because Sabi has 20 more observations, so we want only timestamps where we have data for both animals!
# Split dataframe for each animalSabi_df <-filter(supsset, TierName =="Sabi") Rosa_df <-filter(supsset, TierName =="Rosa")# Combine them again (Join) joined_df <-left_join(Rosa_df, Sabi_df , by ="Round", suffix =c(".rosa", ".sabi"))
analysis <-select(joined_df, Round, E.sabi, N.sabi, E.rosa, N.rosa)analysis <-mutate(analysis, distance =E_distance(E.sabi, E.rosa, N.sabi, N.rosa))# close enough?analysis <-mutate(analysis, close = distance <100)
#Umwandeln der Liste von Multipoints in ein sf-Objektmultipoint_sf <-st_sfc(multipoint_geom, crs =2056)# Entfernen der Z/M-Koordinaten (Z- und M-Komponenten entfernen)multipoint_sf <-st_zm(multipoint_sf)# Erstellen eines DataFrames mit Multipoint-Geometriendf <-data.frame(id =1:length(multipoint_sf), # ID für jedes Multipointgeometry = multipoint_sf)# Umwandeln in ein sf-Objektsf_df <-st_as_sf(df)