Open lilyclements opened 2 years ago
The file read in contains information, such as flights from/to/via, etc so that it can automatically calculate emissions for a whole data set at once.
Issue #14 covers automating a data set into the correct format.
calculate_emissions <- function(data, emission_column = "emission_type", airplane_from = "flight_from", airplane_to = "flight_to", airplane_via = "flight_via", airplane_n = "flight_n", airplane_radiative_force = TRUE, airplane_WTT = TRUE, airplane_return = "flight_return", airplane_class, hotel_location = "accomodation_at", hotel_nights = "accomodation_nights", hotel_rooms = "accomodation_n"){ emissions <- NULL for (i in 1:nrow(data)){ emission_type <- data %>% dplyr::select( emission_column ) if (emission_type[i,] == "flight"){ if (missing(airplane_class)) airplane_class = "economy" emissions[i] <- airplane_emissions(from = data[[airplane_from]][[i]], to = data[[airplane_to]][[i]], via = data[[airplane_via]][[i]], num_people = data[[airplane_n]][[i]], radiative_force = airplane_radiative_force, include_WTT = airplane_WTT, round_trip = data[[airplane_return]][[i]], class = data[[airplane_class]][[i]]) } else if (emission_type[i,] == "train"){ # from, to, via = NULL, num_people = 1, times_journey = 1, include_WTT = TRUE, round_trip = FALSE } else if (emission_type[i,] == "accomodation"){ emissions[i] <- hotel_emissions(location = data[[hotel_location]][[i]], nights = data[[hotel_nights]][[i]], rooms = data[[hotel_rooms]][[i]]) } } data <- data %>% mutate(emissions = emissions) #print() return(sum(emissions, na.rm = TRUE)) } calculate_emissions(expense_report)
The file read in contains information, such as flights from/to/via, etc so that it can automatically calculate emissions for a whole data set at once.
Issue #14 covers automating a data set into the correct format.