将日期从Stata转换为R.

时间:2017-10-10 20:08:28

标签: r stata

我是R的新手,正在使用398个变量的数据集。不同日期有很多变量。超过400名受试者的年龄缺失,但我有出生和死亡的所有日期,所以我希望计算他们的年龄。但是,第一步是以相同的格式获取所有日期。我和他们中的几个人都取得了成功,但死亡的日期是某种Stata格式。它说:

str(Data_10_8_17$dateofdeath)
 atomic [1:10381] 17431 16752 18753 19776 17774 ...
 - attr(*, "format.stata")= chr "%9.0g"

我改变了所有号码。

1 个答案:

答案 0 :(得分:2)

只是答案的一部分,但这太长了,作为评论看起来不太好。

这些数据看起来并不神秘。如果您在Stata学习help datetime,您会发现每日日期的起源为0 = 1jan1960。如果猜测它们是日常格式丢失的日期格式,我们可以再次推回日期:

. mata : strofreal((17431, 16752, 18753, 19776, 17774), "%td")
               1           2           3           4           5
    +-------------------------------------------------------------+
  1 |  22sep2007   12nov2005   06may2011   22feb2014   30aug2008  |
    +-------------------------------------------------------------+

如果这些日期可以接受,您现在需要有资格在R的人来指导翻译。

请注意,格式%9.0g(语法有意识地让人想起C语言中的格式)只是一种通用的数字格式,而且根本不是奇特的:它是默认的数字显示格式,并且不适合中等整数。 https://www.stata.com/help.cgi?format是关于所有人的Stata显示格式的可访问文档,包括需要翻译的R用户。