Я хотел бы переименовать столбец, созданный с помощью group_by в dplyr. Созданное имя format(date2, "%Y-%m")
, не очень полезно. Я пробовал несколько вещей. Я хотел новое имя, чтобы быть «yrMth»переименовать оператор group_by с помощью dplyr в R
df <- data.frame(Person = c(rep("abc",3), rep("eee", 5)),
date = c("4/1/2016", "4/3/2016", "4/12/2016", "5/3/2016", "5/4/2016","5/10/2016","5/6/2016", "5/11/2016"),
account = c("123","123","123","222","222","333","222","333"), stringsAsFactors = F)
df$date2 <- mdy(df$date)
df %>%
group_by(format(date2, "%Y-%m"))
Person date account date2 `format(date2, "%Y-%m")`
<chr> <chr> <chr> <date> <chr>
1 abc 4/1/2016 123 2016-04-01 2016-04
2 abc 4/3/2016 123 2016-04-03 2016-04
3 abc 4/12/2016 123 2016-04-12 2016-04
4 eee 5/3/2016 222 2016-05-03 2016-05
5 eee 5/4/2016 222 2016-05-04 2016-05
6 eee 5/10/2016 333 2016-05-10 2016-05
7 eee 5/6/2016 222 2016-05-06 2016-05
8 eee 5/11/2016 333 2016-05-11 2016-05
Следующий код не работает, любые идеи.
df %>%
mutate(yrMth = group_by(format(date2, "%Y-%m")))
df %>%
rename(yrMth = group_by(format(date2, "%Y-%m")))
Не большой dplyr, но вы не можете просто сначала мутировать, а затем group - 'df%>% mutate (yrMth = format (date2,"% Y-% m "))%>% group_by (yrMth)'? Я подожду и посмотрю, может ли какой-нибудь dplyr whiz показать лучший способ. – thelatemail
Это то, что вы пытались сделать: 'df%>% group_by (yrMth = format (date2,"% Y-% m "))'. Это фактически дает тот же результат, что и 'df%>% mutate (yrMth = format (date2,"% Y-% m ")), за исключением того, что в первом случае кадр данных также имеет атрибут группировки. Но почему бы просто не форматировать дату так, как вы хотите, когда вы впервые создаете 'date2'? – eipi10