Найдите время, когда объект имеет максимальное значение в Rstudio - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть объект со значениями того, сколько голосов каждая полити c партия имеет в каждом местоположении страны (950 мест и 8 партий).

Я хотел бы знать, сколько раз партия ВЫИГРЫВАЕТ (сколько раз он получает больше голосов, чем остальные).

1 Ответ

0 голосов
/ 12 февраля 2020

Возможно, не самое элегантное решение, но, кажется, работает.

ДАННЫЕ :

set.seed(111)
party <- rep(LETTERS[1:2], 5)
location <- c(rep("a",2), rep("b",2),rep("c",2),rep("d",2),rep("e",2))
votes <- sample(1:100000, 10)
df <- data.frame(party, location, votes)

ШАГ 1 : определить наиболее голоса, поданные по местоположению с использованием aggregate:

most_votes <- aggregate(votes ~ location, data = df, max)

ШАГ 2 : сопоставьте голоса в most_votes с голосами в df и назначьте метку, например wins, для идентификации партии с большинством голосов:

df$winner <- ifelse(df$votes[match(df$votes,most_votes$votes)], "wins", NA)

РЕЗУЛЬТАТ :

df
   party location votes winner
1      A        a 99283   wins
2      B        a 27417   <NA>
3      A        b 34885   wins
4      B        b  6140   <NA>
5      A        c  3117   <NA>
6      B        c 29258   wins
7      A        d 84249   <NA>
8      B        d 90875   wins
9      A        e 86641   wins
10     B        e 18567   <NA>
...