Мы можем использовать base::cut
с квантилем, чтобы получить соответствующий квартиль
library(dplyr)
players %>%
mutate(quar_all=cut(age, breaks=c(0,quantile(age, probs=c(0.25,0.5,0.75,1.0))),labels = FALSE)) %>%
group_by(pos) %>%
mutate(quar_pos=cut(age, breaks=unique(c(0,quantile(age, probs=c(0.25,0.5,0.75,1.0)))),labels = FALSE))
Обратите внимание: в quar_pos я использовал unique
, так как получил ошибку
Ошибка в cut.default (age, breaks = quantile (age, Probs = C (0.25, 0.5,: 'breaks' не уникальны)
blockquote>Для аналогичной ошибки
unique
было предложено Дидзисом Элфертом здесь , поэтому, как упоминал Дидзис, ожидают меньшее число квартилей для затронутых групп.
Из MSDN:
WM_QUERYENDSESSION
сообщение отправляется, когда пользователь принимает решение закончить сессию или когда приложение вызывает одну из функций завершения работы системы. Если какой-либо нуль возвратов приложения, сессия не заканчивается. Система прекращает отправлятьWM_QUERYENDSESSION
сообщения, как только одно приложение возвращает нуль.
Так, WindowProc моего приложения теперь обрабатывает WM_QUERYENDSESSION
сообщение и возвраты 0
.
Не ожидал, что это будет этим простым; в качестве награды это также работает над Windows 2000.
Что касается «простого» возврата 0 для блокировки завершения работы, это не так просто, если вы хотите сделать это должным образом. Особенно на Vista. Например, также прочтите http://msdn.microsoft.com/en-us/library/ms700677 (VS.85) .aspx