Stata函数qofd(),mofd()和wofd()的R等价形式是什么?

时间:2019-06-17 01:42:28

标签: r stata

Stata函数qofd()mofd()wofd() R 等效项是什么?

我没有在寻找将日期转换为字符串的任何 R 函数(例如,使用10/13/20162006q4转换为qofd())。

我想要将日期转换为float格式的函数,该函数可以直接用于回归(无需转换为其他格式),并且在查看数据时可以显示为2006q4

1 个答案:

答案 0 :(得分:2)

日期

如果dDate类的,则as.numeric(d)给出自UNIX纪元(1970年1月1日)以来的天数。如果在回归中使用了Date类变量,则该变量是本示例中使用的数字矢量。

y <- (1:10)^2
x <- as.Date("2000-01-01") + 0:9
xx <- as.numeric(x)
identical(unname(coef(lm(y ~ x))), unname(coef(lm(y ~ xx))))
## [1] TRUE

yearmon和yearqtr

zoo软件包具有yearmonyearqtr类,如下所示显示,但在内部表示为year + fraction。对于yearmon,该分数对于1月为0,对于2月为1/12,...,对于12月为11/12。对于yearqtr,对于Q1,该分数是0,对于Q2是1 / 4,2 /第三季度为4,第四季度为3/4。

这是默认情况下呈现这些类的对象的方式。 format可用于获取其他格式。请参见Zoo软件包中的?yearmon

library(zoo)

as.yearmon("2000-01")
## [1] "Jan 2000"

as.yearqtr("2000-1")
## [1] "2000 Q1"

在此我们显示,对yearmon变量进行回归与对其数字表示形式进行回归是相同的。可以为yearqtr给出类似的示例。 y来自上方。

ym <- as.yearmon(2000) + 0:9/12
num <- as.numeric(ym)
identical(unname(coef(lm(y ~ ym))), unname(coef(lm(y ~ num))))
## [1] TRUE

此动物园插图中定义的单行nextfri函数:

https://cran.r-project.org/web/packages/zoo/vignettes/zoo-quickref.pdf

仅可用于将日期标准化为星期五。将该公式中的5替换为0到6之间的另一个数字,即可得出星期几。

library(zoo)

yy <- (1:365)^2
ww <- nextfri(as.Date("2019-01-01") + 0:364)

# regress yy on next Friday
lm(yy ~ ww)