基于时间列合并两个Dataframe

时间:2015-03-06 11:52:44

标签: regex r merge

我正在尝试根据Time列合并两个数据帧。它们每个都有不同格式的时间值。它们看起来如下:

LabourproductivityDepressiondframe的示例数据集:

Labourproductivity <- read.csv(text="
Time,LabourProductivity
2004 Q1,96.6
Q2,96.9
Q3,96.9
Q4,97.1
2005 Q1,97.6
Q2,99.0")
Depressiondframe <- read.csv(text="
Time,DepressionCount
2004.00,875
2004.25,820
2004.50,785
2004.75,857
2005.00,844")

数据:

Labourproductivity
     Time LabourProductivity
1 2004 Q1               96.6
2      Q2               96.9
3      Q3               96.9
4      Q4               97.1
5 2005 Q1               97.6
6      Q2               99.0
Depressiondframe
     Time DepressionCount
1 2004.00             875
2 2004.25             820
3 2004.50             785
4 2004.75             857
5 2005.00             844

如何根据Time合并两个数据框?

1 个答案:

答案 0 :(得分:1)

这是一种可能的方法。我们将使用zoo包,它可以使用Depressiondframe$Time函数轻松地将zoo::as.yearqtr转换为所需的格式,而第二个更棘手,我们将使用stringi::stri_extract_first_regex和{{1为了处理它。然后,只需一个简单的zoo::na.locf即可完成任务

merge