2017-12-08 14 views
0

私は変数(この場合は国)の頻度を計算しようとしています。例えば:私は次のコードを使用するとdplyrを使用して年ごとの割合を計算する

name <- c('AJ Griffin','Steve Bacon','Kevin Potatoe','Jose Hernandez','Kent Brockman', 
        'Sal Fasno','Kirk Kelly','Wes United','Livan Domingo','Mike Fast') 

country <- c('USA', 'USA', 'Canada', 'Dominican Republic', 'Panama', 'Dominican Republic', 'Canada', 'USA', 'Dominican Republic', 'Mexico') 

year <- c('2016', '2016', '2016', '2016', '2016', '2015', '2015', '2015', '2015', '2015') 

country_analysis <-data.frame(name, country, year) 

は、私は、データセット全体のための国の割合を取得するが、私は、特定の年にさらにこれをダウン削り取っしたいと思います。

最終結果の国、年、頻度の列(つまり、2016、USA、0.4)が理想的です。どんな入力も感謝します。

答えて

4

最初に崩壊した年と国、その後はわずか1年です。例えば、

country_analysis %>% 
    group_by(year, country) %>% 
    summarize(count=n()) %>% 
    mutate(proportion=count/sum(count)) 

#  year   country count proportion 
# <fctr>    <fctr> <int>  <dbl> 
# 1 2015    Canada  1  0.2 
# 2 2015 Dominican Republic  2  0.4 
# 3 2015    Mexico  1  0.2 
# 4 2015    USA  1  0.2 
# 5 2016    Canada  1  0.2 
# 6 2016 Dominican Republic  1  0.2 
# 7 2016    Panama  1  0.2 
# 8 2016    USA  2  0.4 
関連する問題