0

こんにちは: 次のようなデータ セットがあります。私のデータセット、アルファ、オメガ、ゼータは問題の名前です。回答者は、その問題を最もうまく処理できる党首 (「Z」、「B」、または「C」) を評価するよう求められました。

問題ごとの回答の分布を示したいと思いますが、最初のファセットが特定の党首 (例: Z) の最高パーセントを示し、次に下に移動するようにファセットを並べて表示したいと思います。

以下のコードでは、アルファベットの長さ (例: アルファからゼータ) にまたがる変数名を特に選択し、シードを設定しませ。レベルはパーティー リーダー Z が最も高いスコアを獲得した問題であり、2 番目のレベルはパーティー リーダー Z が 2 番目に高いスコアを獲得した問題です。

#load libraries
library(dplyr)
library(forcats)
library(tidyr)
library(ggplot2)

#In my data set these are issues, like taxes, health, etc. 
alpha<-sample(c('Z', 'B', 'C'), replace=T,size=300)
omega<-sample(c('Z', 'B', 'C'), replace=T,size=300)
zeta<-sample(c('Z', 'B', 'C'), replace=T, size=300)

#make data frame
df<-data.frame(alpha, omega, zeta)

df %>% 
  #gather into an issue variable and a leader variable
  gather(Issue, Leader) %>% 
  #count
  count(Issue, Leader) %>% 
  #form groups for counting percent
  group_by(Issue) %>% 
  #calculate percent
  mutate(pct=n/sum(n)) %>%
  #ungroup
  group_by(Leader)%>% 
  #try reordering based on
  mutate(Issue=fct_reorder(Issue, pct, .desc=F)) %>% 
  ggplot(., aes(x=Leader, y=pct))+geom_col()+facet_wrap(~Issue)
4

1 に答える 1