私は2つのカテゴリ変数、locationとemploystatusを持つデータフレーム(dfdat)を持っています。dplyrとtidyrで長いフォーマットから長いフォーマットへ行くときに予期しない行
私は、各場所の雇用状況の割合でデータフレームを生成したいと思います。
mydf_wide(達成された結果)は、私が探しているものです。問題は、employstatusは2つのレベルの変数ですが、mydf_wideには3つの行があります。なぜ私はmytable(予想される結果)に似た何かを期待していたので、私はそれがなぜであるか分からない。
ご協力いただければ幸いです。
開始点(DF):
dfdat <- data.frame(location=c("GA","GA","MA","OH","RI","GA","AZ","MA","OH","RI"),employmentstatus=c(1,2,1,2,1,1,1,2,1,1))
期待される成果(表):
mytable <- table(dfdat$employmentstatus,dfdat$location)
mytable <- round(100*(prop.table(mytable, 2)),1)
達成結果(DF):
library(dplyr)
mydf <- dfdat %>%
group_by(location,employmentstatus) %>%
summarise (n = n()) %>%
mutate(freq = round((n/sum(n)*100),1))
library(tidyr)
mydf_wide <- spread(mydf, location, freq)
mydf_wide <- as.data.frame(mydf_wide)