Создать переменную на основе других значений в другом наборе данных - PullRequest
1 голос
/ 16 июня 2020

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

Municipality

df <- data.frame(
  stringsAsFactors = FALSE,
          municipality= c("Aa en Hunze","Aa en Hunze",
                       "Aa en Hunze","Aalburg","Aalburg","Aalsmeer",
                       "Aalsmeer","Aalten","Aalten","Achtkarspelen","Achtkarspelen",
                       "Alblasserdam","Alblasserdam","Alblasserdam",
                       "Albrandswaard","Albrandswaard","Almelo","Almelo","Almelo",
                       "Almelo","Almere","Almere","Almere","Almere",
                       "Alphen-Chaam","Alphen-Chaam","Ameland","Ameland","Amersfoort",
                       "Amersfoort","Amersfoort","Amersfoort","Amstelveen",
                       "Amstelveen","Amstelveen","Amstelveen","Amsterdam",
                       "Amsterdam","Amsterdam","Amsterdam"),
            party = c("VVD","CDA",
                       "Democraten 66 (D66)","CDA","VVD","CDA","VVD","CDA","VVD","CDA",
                       "VVD","CDA","Democraten 66 (D66)","VVD","VVD","CDA",
                       "CDA","Democraten 66 (D66)","SP (Socialistische Partij)",
                       "VVD","Democraten 66 (D66)","VVD",
                       "SP (Socialistische Partij)","CDA","CDA","VVD","CDA","VVD",
                       "Democraten 66 (D66)","VVD","CDA","SP (Socialistische Partij)",
                       "VVD","Democraten 66 (D66)","CDA",
                       "SP (Socialistische Partij)","Democraten 66 (D66)",
                       "SP (Socialistische Partij)","VVD","CDA"),
      seats= c(3L,2L,2L,3L,1L,6L,6L,7L,
                       2L,5L,1L,3L,2L,2L,6L,2L,6L,4L,4L,3L,6L,5L,
                       4L,2L,4L,1L,3L,1L,9L,5L,4L,4L,9L,8L,3L,3L,
                       14L,6L,6L,1L)
)

I хотите создать, например, переменную с именем VVD, а затем все количество мест на муниципалитет.

Создано 16.06.2020 с помощью пакета (v0.3.0)

Я не знаю, как это закодировать в r, может ли кто-нибудь мне помочь?

1 Ответ

3 голосов
/ 16 июня 2020

Вы можете использовать xtabs для подсчета мест на муниципалитета и партии .

xtabs(seats ~ municipality + party, df)
#               party
#municipality    CDA Democraten 66 (D66) SP (Socialistische Partij) VVD
#  Aa en Hunze     2                   2                          0   3
#  Aalburg         3                   0                          0   1
#  Aalsmeer        6                   0                          0   6
#  Aalten          7                   0                          0   2
#  Achtkarspelen   5                   0                          0   1
#  Alblasserdam    3                   2                          0   2
#  Albrandswaard   2                   0                          0   6
#  Almelo          6                   4                          4   3
#  Almere          2                   6                          4   5
#  Alphen-Chaam    4                   0                          0   1
#  Ameland         3                   0                          0   1
#  Amersfoort      4                   9                          4   5
#  Amstelveen      3                   8                          3   9
#  Amsterdam       1                  14                          6   6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...