[英]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_wider
的tidyr
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
来自dcast
的data.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.