Создание ранжированного списка на основе пропорций в R - PullRequest
0 голосов
/ 30 апреля 2020

Я хочу создать список приоритетов для местоположений, который пропорционален типам местоположений.

data <- data.frame("locationNumber" = 1:12, "type" = c("hill","hill","hill","forest","forest","hill","hill","hill","forest","grass","hill","forest"))

#calculate proportions per type                                    
proportions <- data %>%
   dplyr::group_by(type) %>%
   dplyr::summarise(n = n()) %>%
   dplyr::mutate(freq = round(n / sum(n),2)) 

thinking about it in excel

Выше приведены пропорции для типа для 1-4 местоположений в качестве примера. Чтобы определить первое приоритетное местоположение, вы должны умножить на " freq "на 1. Так как тип холма имеет наибольшее число (0,58), у первого местоположения холма (число 1 в столбце locationNumber) будет приоритет 1. Чтобы определить местоположение второго приоритета, вы должны умножить" freq "на 2 Поскольку у вас уже есть расположение холма (приоритет 1), вы вычли бы 1 из 1,16 и остались бы с .16. Так как 0,66 является наибольшим оставшимся номером, второе приоритетное местоположение будет первым местоположением леса (номер 4 в столбце locationNumber). И так до тех пор, пока у вас не будет приоритетного списка 1-12. Если значение равно ie (как и при достижении 4), прерыватель t ie будет определять приоритет местоположения с наименьшей пропорцией.

ожидаемый результат: expected output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...