我使用haven
包读入sas7bdat文件。
一栏有YYQ6的日期。格式。
我将它转换为数字,如-5844,0,7121,.. 如何将其转换为年份格式?我无法访问SAS,但这些值应该是出生日期。
答案 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的这篇支持文章
让我知道是否有效。
翁
答案 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"