Group/Mutate возвращает только NA, а не среднее значение

Используя R 3.5, R studio 1.1.419.

У меня есть набор данных, который содержит географические данные и меры на основе города.

    zip state        city statefips finmei14 finmei15
1   501    NY  Holtsville        36       NA       NA
2   544    NY  Holtsville        36       NA       NA
3  1001    MA      Agawam        25       NA       NA
4  1002    MA     Amherst        25       69       64
5  1003    MA     Amherst        25       69       64
6  1004    MA     Amherst        25       69       64
7  1005    MA       Barre        25       NA       NA
8  1007    MA Belchertown        25       NA       NA
9  1008    MA   Blandford        25       NA       NA
10 1009    MA  Bondsville        25       NA       NA

finmei14 и finmei15 — это городские показатели, которые я хочу агрегировать по штатам, чтобы появилась новая переменная, которая переводит среднее значение городских показателей в новый показатель штата (stat14 и stat15). Я пытался использовать group_by и мутировать

testdat %>% 
  group_by(state) %>%
  mutate (stat14=mean(finmei14))

Мой результат: stat14 не имеет ничего, кроме NA.

    zip state        city statefips finmei14 finmei15 stat14
1   501    NY  Holtsville        36       NA       NA     NA
2   544    NY  Holtsville        36       NA       NA     NA
3  1001    MA      Agawam        25       NA       NA     NA
4  1002    MA     Amherst        25       69       64     NA
5  1003    MA     Amherst        25       69       64     NA
6  1004    MA     Amherst        25       69       64     NA
7  1005    MA       Barre        25       NA       NA     NA
8  1007    MA Belchertown        25       NA       NA     NA
9  1008    MA   Blandford        25       NA       NA     NA
10 1009    MA  Bondsville        25       NA       NA     NA

Я также пытался добавить na.rm=TRUE, но он вернул этот результат

testdat %>% 
  group_by(state) %>%
  mutate (stat14=mean(finmei14), na.rm=TRUE)

     zip state city        statefips finmei14 finmei15 stat14 na.rm
 1  501. NY    Holtsville        36.      NA       NA      NA TRUE 
 2  544. NY    Holtsville        36.      NA       NA      NA TRUE 
 3 1001. MA    Agawam            25.      NA       NA      NA TRUE 
 4 1002. MA    Amherst           25.      69.      64.     NA TRUE 
 5 1003. MA    Amherst           25.      69.      64.     NA TRUE 
 6 1004. MA    Amherst           25.      69.      64.     NA TRUE 
 7 1005. MA    Barre             25.      NA       NA      NA TRUE 
 8 1007. MA    Belchertown       25.      NA       NA      NA TRUE 
 9 1008. MA    Blandford         25.      NA       NA      NA TRUE 
10 1009. MA    Bondsville        25.      NA       NA      NA TRUE 

То, что я хочу видеть (на основе этого образца), это

    zip state        city statefips finmei14 finmei15 stat14
1   501    NY  Holtsville        36       NA       NA     NA
2   544    NY  Holtsville        36       NA       NA     NA
3  1001    MA      Agawam        25       NA       NA     69
4  1002    MA     Amherst        25       69       64     69
5  1003    MA     Amherst        25       69       64     69
6  1004    MA     Amherst        25       69       64     69
7  1005    MA       Barre        25       NA       NA     69
8  1007    MA Belchertown        25       NA       NA     69
9  1008    MA   Blandford        25       NA       NA     69
10 1009    MA  Bondsville        25       NA       NA     69

Спасибо.


person Elombardi    schedule 26.04.2018    source источник
comment
здесь нет проблем с использованием mutate(stat14=mean(finmei14, na.rm = T)). Имейте в виду, что na.rm = TRUE должен быть установлен внутри функции mean().   -  person Roman    schedule 26.04.2018
comment
Вы должны указать аргумент na.rm = T для mean, а не для mutate   -  person divibisan    schedule 26.04.2018