将带有日期的列转换为R中的行 [英] Converting columns with date to rows in R
本文介绍了将带有日期的列转换为R中的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我们在R中有一个data.frame像这样:
Let's say we have a data.frame in R like this:
d = data.frame('2019q1' = 1, '2019q2' =2, '2019q3' = 3)
看起来像这样:
X2019q1 X2019q2 X2019q3
1 1 2 3
如何将其转换为以下形式:
How can I transform it to looks like this:
Year Quarter Value
2019 1 1
2019 2 2
2019 3 3
推荐答案
我们可以收集
到'long'格式,并使用 str_extract
提取组件。 parse_number
We can gather
into 'long' format and extract the components with str_extract
or parse_number
library(dplyr)
library(tidyr)
library(stringr)
gather(d) %>%
transmute(Year = readr::parse_number(key),
Quarter = as.numeric(str_extract(key, "(?<=q)\\d+$")), value)
# Year Quarter value
#1 2019 1 1
#2 2019 2 2
#3 2019 3 3
这篇关于将带有日期的列转换为R中的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文