2017-06-29 235 views
0

我使用haven包读入sas7bdat文件。 一列在YYQ6中有日期。格式。将SAS日期格式转换为R

I R这是转换为数字,如-5844,0,7121,.. 如何将其转换为年份格式?我无法访问SAS,但这些值应该是出生日期。

+1

你怎么能有季度出生日期? –

+0

列数据类型仅涉及数据的可视化。但是也许他们想知道每个季度每个人有多少人出生......谁知道;-) – Umberto

+0

@DirkNachbar这是一个医疗数据集,出于隐私原因,确切的出生日期被蒙蔽了 – spore234

回答

2

位。 SAS使用如1960年1月(见http://support.sas.com/publishing/pubcat/chaps/59411.pdf)零月1日,所以如果你想要的数据年份(由数字表示),它应该是

format(as.Date(-5844, origin="1960-01-01"),"%Y") 

,你在这种情况下

1944 

得到那是对的吗?你期待什么?

要了解关于数据类型YYQ6的更多信息,从SAS

http://support.sas.com/documentation/cdl/en/leforinforref/64790/HTML/default/viewer.htm#n02xxe6d9bgflsn18ee7qaachzaw.htm

检查此支持文章让我知道,如果在工作。

翁贝托

1

我认为在SAS的日期是从1960年1月1日天,所以你可以先做研究

sasq <- c(-5844, 0, 7121) 
as.Date(sasq, '1960-01-01') 
[1] "1944-01-01" "1960-01-01" "1979-07-01" 
+0

你是对的。 SAS中的日期来自1/1/1960 ;-) – Umberto