如何在R中按日期重塑数据帧

如何在R中按日期重塑数据帧,r,R,我有以下数据帧: df1 <- data.frame( date = c("14-Mar-20", "14-Mar-20", "14-Mar-20", "15-Mar-20", "15-Mar-20", "15-Mar-20"), status = c("new", "progress", "completed", "new", "progress", "completed"), count = c("1", "2", "3", "4", "5", "6"), string

我有以下数据帧:

df1 <- data.frame(
  date = c("14-Mar-20", "14-Mar-20", "14-Mar-20", "15-Mar-20", "15-Mar-20", "15-Mar-20"),
  status = c("new", "progress", "completed", "new", "progress", "completed"),
  count = c("1", "2", "3", "4", "5", "6"),
  stringsAsFactors = FALSE
)
我想将其重塑为以下格式:

我怎样才能做到?我试图使用熔化功能,但我无法取得任何进展

我们可以从第三天开始更广泛地使用pivot\u

我们可以从tidyr开始更广泛地使用pivot_

数据表中的dcast:

数据表中的dcast:


下面是一个使用重塑的基本R解决方案


下面是一个使用重塑的基本R解决方案


哇!感谢您的超快速响应!你是闪电侠吗这个解决方案非常有效!再次感谢。我会接受你的回答。哇!感谢您的超快速响应!你是闪电侠吗这个解决方案非常有效!再次感谢。我会接受你的回答。谢谢你的解决方案@Thomas!!感谢您的解决方案@Thomas!!
library(dplyr)
library(tidyr)
df1 %>% 
   pivot_wider(names_from = status, values_from = count)
# A tibble: 2 x 4
#  date      new   progress completed
#  <chr>     <chr> <chr>    <chr>    
#1 14-Mar-20 1     2        3        
#2 15-Mar-20 4     5        6        
setDT(df1)
dcast(df1, date ~ status, value.var = 'count')
res <- reshape(df1,direction = "wide",idvar = "date",timevar = "status")

> res
       date count.new count.progress count.completed
1 14-Mar-20         1              2               3
4 15-Mar-20         4              5               6