在 reshape2::dcast 之后保留 tibbles 作为 tibbles

Keep tibbles as tibbles after reshape2::dcast

有没有办法让 dcast 输出小标题? (不使用 as_tibble

df <- tibble(a = letters[c(rep(1:3, 3), 1)], b =  1:10 + .1, c = 11:20 + .1)

df %>% class
# [1] "tbl_df"     "tbl"        "data.frame"
df %>% dcast(a ~ b) %>% class
# [1] "data.frame"

reshape2 软件包已停用,不太可能更新以支持 tibbles。如果你想坚持使用 tibbles,你应该使用名为 tidyrreshape2 包的 tidyverse 版本。您可以使用

library(tidyr)
df %>% spread(b, c)