#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 дня