我是R的新手,正在处理一个包含398个变量的数据集。对于不同的日期,有许多变量。我的研究对象中有400多人没有年龄,但我有所有的出生和死亡日期,所以我希望能计算出他们的年龄。但是,第一步是以相同的格式获取所有日期。我已经成功地完成了其中的几个,但死亡日期是某种Stata格式。上面写着:
str(Data_10_8_17$dateofdeath)
atomic [1:10381] 17431 16752 18753 19776 17774 ...
- attr(*, "format.stata")= chr "%9.0g"我已经把所有的数字都改了。
发布于 2017-10-11 07:55:29
这只是答案的一部分,但这太长了,作为评论看起来不太好。
这些数据看起来没那么神秘。如果你研究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用户。
https://stackoverflow.com/questions/46675123
复制相似问题