因子列があります。要素ごとに 1 つの列に広げて、各 ID に表示されるその要素の数でギャップを埋めたいと思います。次があるとします。
car <- c("a","b","b","b","c","c","a","b","b","b","c","c")
type <- c("good", "regular", "bad","good", "regular", "bad","good", "regular", "bad","good", "regular", "bad")
car_type <- data.frame(car,type)
そして得る:
car type
1 a good
2 b regular
3 b bad
4 b good
5 c regular
6 c bad
7 a good
8 b regular
9 b bad
10 b good
11 c regular
12 c bad
これ欲しい:
> results
car good regular bad
1 a 2 0 0
2 b 2 2 2
3 c 0 2 2
dplyr を使ってやってみるのですが、慣れていないのでうまくいきません。
car_type %>%
select(car, type) %>%
group_by(car) %>%
mutate(seq = unique(type)) %>%
spread(seq, type)
どんな助けにも感謝します。