Exercise 5

Author

Rodrigo Nogueira Silva

##Task 1

BMI <- function(weight, height){
  bmi_value <- weight/height^2
  return(bmi_value)
  print("your bmi is")
}

BMI(75, 1.75)
[1] 24.4898
bmi2 <- \(weight, height)weight/height^2

bmi2(80, 1.60)
[1] 31.25
Fahrenheit <- \(Celsius)Celsius*(9/5)+32

Fahrenheit(15)
[1] 59
ed <- \(x1, x2, y1, y2)sqrt((x2-x1)^2+(y2-y1)^2)


ed(47, 8, 47.5, 8.5)
[1] 55.15433

##Task 2

library("readr")

wildschwein <- read_delim("wildschwein_BE_2056.csv", ",")

wildschwein$DatetimeUTC <- as.POSIXct(
  wildschwein$DatetimeUTC,
  format = "%Y-%m-%d %H:%M:%S",
  tz = "UTC"
)

library(dplyr)

both_animals <- wildschwein %>%
  filter(
    TierName %in% c("Sabi", "Rosa"),
    DatetimeUTC >= as.POSIXct("2015-04-01"),
    DatetimeUTC <= as.POSIXct("2015-04-15")
  )

##Task 3 + 4

library(dplyr)
library(lubridate)

wildschwein <- wildschwein %>%
  mutate(
    DatetimeRound = round_date(DatetimeUTC, unit = "15 minutes")
  )

rosa <- wildschwein %>%
  filter(TierName == "Rosa")

sabi <- wildschwein %>%
  filter(TierName == "Sabi")

meet_data <- inner_join(
  rosa,
  sabi,
  by = "DatetimeRound",
  suffix = c("_rosa", "_sabi")
)

meet_data <- meet_data %>%
  mutate(
    distance = sqrt((E_rosa - E_sabi)^2 + (N_rosa - N_sabi)^2)
  )

meet_data <- meet_data %>%
  mutate(
    meet = distance <= 100
  )

##Task 5

meets <- meet_data %>%
  filter(meet == TRUE)


library(ggplot2)

ggplot() +
  # Rosa locations
  geom_point(data = rosa, aes(x = E, y = N), color = "red", alpha = 0.5, size = 1) +
  
  # Sabi locations
  geom_point(data = sabi, aes(x = E, y = N), color = "blue", alpha = 0.5, size = 1) +
  
  # Meet locations (from joined dataset)
  geom_point(data = meets, aes(x = E_rosa, y = N_rosa), color = "black", size = 2) +
  
  labs(
    title = "Spatial Meets Between Rosa and Sabi",
    x = "Easting",
    y = "Northing"
  ) +
  
  coord_cartesian(
    xlim = c(min(wildschwein$E), max(wildschwein$E)),
    ylim = c(min(wildschwein$N), max(wildschwein$N))
  ) +
  
  theme_classic()