Я пытаюсь изменить набор данных от длинного до широкого. Следующий код работает, но мне любопытно, есть ли способ не предоставлять столбец значений и все равно использовать pivot_wider
. В следующем примере мне нужно создать временный столбец "val", чтобы использовать pivot_wider
, но есть ли способ сделать это без него?
a <- data.frame(name = c("sam", "rob", "tom"),
type = c("a", "b", "c"))
a
name type
1 sam a
2 rob b
3 tom c
Я хочу преобразовать его следующим образом.
name a b c
1 sam 1 0 0
2 rob 0 1 0
3 tom 0 0 1
Это можно сделать с помощью следующего кода, но я могу сделать это без создания столбца "val" (и все же с использованием языка Tidyverse)?
a <- data.frame(name = c("sam", "rob", "tom"),
type = c("a", "b", "c"),
val = rep(1, 3)) %>%
pivot_wider(names_from = type, values_from = val, values_fill = list(val = 0))