R:複数のフィルターを使用して折れ線グラフをプロットする方法。(R-シャイニー/フレックスダッシュボード)。
合計数からの平均現在価値で折れ線グラフをプロットしたい。従業員が参加したイベントの数。
例:2019年1月の従業員Aの合計イベントは4であり、彼は1つしか存在しなかったため、その月の結果は25%と表示されます。((1/4)* 100)%
これがサンプルデータですが、実際には100人以上の従業員がいるため、結果は従業員名による線のカラーコードとして要求されるはずです。
次のようなデータセット:
Employee Status Month_Yr
A PRESENT 01/2019
C PRESENT 01/2019
B PRESENT 01/2019
C PRESENT 02/2019
D PRESENT 03/2019
A PRESENT 01/2019
B PRESENT 03/2019
C PRESENT 01/2019
B ABSENT 01/2019
D ABSENT 01/2019
A ABSENT 01/2019
C PRESENT 02/2019
B PRESENT 01/2019
A PRESENT 02/2019
A ABSENT 02/2019
D ABSENT 03/2019
C PRESENT 01/2019
C ABSENT 01/2019
C ABSENT 01/2019
A ABSENT 02/2019
C ABSENT 04/2019
B ABSENT 01/2019
私が試したコード:
sub_data5 <-mutate(sub_data5, ontime = ifelse(sub_data5$Status=="PRESENT","Y","N"))
sub_data5 <- sub_data5 %>%
count(year_month, Employee, ontime,year,Month) %>%
group_by(year_month, Employee,year,Month) %>%
mutate(Prop = (n/sum(n))*100)
sub_data5$`Prop` <- as.integer(sub_data5$`Prop`)
ggplot(sub_data5, aes(x=year_month, y=Prop, group=Employee, color=Employee)) +
geom_line()
しかし、year_month、Employee、year、Monthのフィルターを使用して折れ線グラフを表示したいと思います。
rpivottableでフィルターを取得するように、添付の画像を確認してください。
このコードから私は私の結果を得ました。
# Calculate total count of status and add new column for its percentage value.
sub_data5 <- sub_data5 %>%
count(Month_yr, Employee, Status) %>%
group_by(Month_yr, Employee) %>%
mutate(Percent = (n/sum(n))*100)
# Convert Percentage decimal to string
sub_data5$`Percent ` <- (as.integer(sub_data5$`Percent`)+" %")
# Drop row values with ABSENT
sub_data5<-sub_data5[!(sub_data5$Status=="ABSENT"),]
#Employee can't use in plot because it's used as grouping so convert DF in to new DF
sub_data10 <- as.data.frame(sub_data5)
# Plot line chart.
plo <- ggplot(data=sub_data10, aes(x=Month_yr, y=Precent, group=Employee, colour=Employee)) +
geom_line() +
geom_point()
fig <- ggplotly(plo)
fig
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加