将SAS日期格式转换为R.

时间:2017-06-29 08:49:29

标签: r date sas

我使用haven包读入sas7bdat文件。 一栏有YYQ6的日期。格式。

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

2 个答案:

答案 0 :(得分:5)

首先研究一下。 SAS使用1960年1月1日作为零(参见http://support.sas.com/publishing/pubcat/chaps/59411.pdf),所以如果你想要数据的年份(由你的数字代表),它应该是

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 :(得分:2)

我认为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"