【问题标题】:How to convert numeric date variable into quarterly date?如何将数字日期变量转换为季度日期?
【发布时间】:2016-02-10 09:06:31
【问题描述】:

我有一个面板数据集,其中第一列是 Stata 中年-季格式的日期,如下所示:

quarter id
1993q1  1
1993q2  1
1993q3  1
1993q4  1
1994q1  1
1994q2  1
1994q3  1
1994q4  1
1995q1  1
1995q2  1
1995q3  1
1995q4  1

我已将数据集从 Stata 导入 R,但我不知道如何使用 as.Date 函数将其转换为日期格式。(我刚刚开始学习 R)日期在 R

quarter
137
138
139
140
141
142
143
144
145
146
147

所以我的问题: 有没有一种内置方法可以导入我在 Stata 中的格式的季度数据,如果没有,我如何将这个数字日期转换为 R 中的季度?有什么建议吗?

【问题讨论】:

    标签: r date


    【解决方案1】:

    试试:

    library(zoo)
    quarter <- c("1993q1", "1993q2")
    as.yearqtr(quarter)
    ## [1] "1993 Q1" "1993 Q2"
    

    还要注意?strftime?as.yearqtr 中的百分比代码

    【讨论】:

    • 这与其他答案有何不同?
    • 不是。我不知道其他答案已发布。我是新来的,所以想掌握它的窍门。
    • 谢谢大家! @cryo111 只是为了确认一下:这段代码成功了:start_val=1958.75 q&lt;-as.yearqtr(start_val+ quarter/4)
    • 这个答案使用了默认格式与 as.yearqtr 一起使用的事实,因此它稍微简单一些。
    【解决方案2】:

    您可以使用 zoo 包中的 as.yearqtr。 对于字符串格式:

    library(zoo)
    as.yearqtr("1993q1",format="%Yq%q")
    #[1] "1993 Q1"
    

    对于数字格式:

    #origin seems to be 1958 Q4
    start_val=1958.75
    #137 is the first value in your list
    as.yearqtr(start_val+137/4)
    #[1] "1993 Q1"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-09
      • 2021-07-26
      • 2015-12-13
      • 2019-06-28
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      相关资源
      最近更新 更多