2017-06-29 281 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