繁体   English   中英

如何在 R 中按日期重塑 dataframe

[英]How to reshape dataframe by date in R

我有以下 dataframe:

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
)

我想将其重塑为以下格式:

在此处输入图像描述

我该怎么做? 我正在尝试使用“融化” function 但我无法取得任何进展!

我们可以使用来自pivot_widertidyr

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        

来自dcastdata.table

setDT(df1)
dcast(df1, date ~ status, value.var = 'count')

这是使用reshape的基本 R 解决方案

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM