Создание Региональных Весов

#r #dplyr

Вопрос:

Я хотел бы создать некоторые весовые коэффициенты для общих отношений между странами и регионами. Регионы, которые у меня есть, перекрываются, то есть у нас могут быть «Европа» и «Европейский союз», которые не совпадают. У нас также есть регион «Мир».

У меня есть список регионов-стран включения и список стран с выбросами для конкретной страны. Я хотел бы найти веса в соответствии с каждой перекрывающейся классификацией веса.

 library(tidyverse)
RegionMap = tribble(
  ~ISO,  ~Region,
  "USA",  "NAM",
  "CAN",  "NAM",
  "FRA",  "EUR",
  "DEU",  "EUR",
  "UKR",  "EUR",
  "FRA",  "EUU",
  "DEU",  "EUU"
)

Emissions = tribble(
  ~ISO, ~Emissions,
  "USA", 1200,
  "CAN", 600,
  "FRA",  300,
  "DEU",  800,
  "UKR",  500
)

#Output:
Weights= tribble(
  ~ISO, ~Region, ~Weight,
  "USA", "NAM", 0.75,
  "CAN", "NAM", 0.25,
  "FRA",  "EUR", 0.2,
  "FRA",  "EUU", 0.25
  #etcetc
)

 

Ответ №1:

Разгадал ее! (я нахожу, что задать вопрос-это на 90% ответить на него!)

 MergedData <- merge(RegionMap,Emissions)

Weights <- MergedData %>% group_by(Region) %>% mutate (Weight=Emissions/sum(Emissions))

 

Комментарии:

1. Вы должны нажать на зеленую галочку и принять свой собственный ответ.

2. Не могу сделать это раньше, чем пройдет 2 дня