Я работаю с грязным набором данных переписи, в котором есть дубликаты в столбце variable
(high school
и university
), но эти дубликаты фактически измеряют что-то немного другое. Показатель, в котором число выше в столбце count
, представляет собой сумму для этих 15 лет и старше (highest_educ_15_over
). А меньшее число всегда соответствует высшему образованию для 24-65 (highest_educ_24_65
). Вот данные для визуала.
data <- tribble(
~town, ~variable, ~count,
"A","highest_educ_15_over",100,
"A","high school",80,
"A","university",20,
"A","highest_educ_24_65",50,
"A","high school",40,
"A","university", 10,
"B","highest_educ_15_over",1000,
"B","high school", 800,
"B", "university", 200,
"B", "highest_educ_24_65", 500,
"B", "high school", 400,
"B", "university", 100)
Я не могу просто отфильтровать для средней школы или университета, потому что он возвращает оба значения. В конце концов мне не понравится, что набор данных будет выглядеть так:
tribble(
~town, ~highest_educ_15_over, ~highschool, ~university,
"A", "100","80","20",
"B", "1000","800","200"
)
Где я автоматически беру наибольшее значение для high school
и university
для каждого города и соответствующего общего знаменателя.
Есть идеи, как к этому подойти?