2017-11-30 11 views
1

データフレーム内の各文字列のパーセントを計算したいが、パーセンテージが良くない。dplyrでグループのパーセンテージを計算する

マイコード:

for(i in names(which((sapply(creditDF,class) == "character")))){ 
    distribution <- creditDF %>% 
    group_by_at(.vars = i) %>% 
    summarise(value = n(), 
      percent = value/sum(value)) %>% 
    select(label = i, value, percent) 
} 

結果:割合は468分の415 * 100である最初の行のための通常

label value percent 
<chr> <int> <dbl> 
1 chéquier autorisé 415  1 
2 chéquier interdit 53  1 

問題を解決するにはどうすればよいですか?

ありがとうございました。ここで

答えて

0

は、我々は

--      %>% 
    group_by_at(.vars = i) %>% 
    summarise(value = n() %>% 
    ungroup() %>% 
    mutate(percent = value/sum(value)) %>% 
    select(label = i, value, percent) 
} 
+1

どうもありがとう:)すなわち全体の「価値」列のsumを取得するungroupする必要があります。私はこの髪型を知らなかった。 – Bourg

関連する問題