2012-07-05 43 views
3

這是很奇怪的問這個問題,我申請一個sas7數據集爲R. 我的一個變量是VISIT_DATE轉移日期數據爲R

現在它看起來像這樣,我想知道在那裏我可以改變他們回到MM-DD-YYYY,因爲我需要排除小於MDY(08-01-2010)的數據。

> chris$visit_date 
    [1] 17077 17091 17105 17119 17133 17069 17083 17097 17111 17125 17080 17094 17108 
[14] 17122 17136 17098 17112 17210 17224 17238 17252 17266 17247 17261 17254 17268 
[27] 17282 17296 17324 17237 17251 17265 17279 17293 17329 17343 17357 17385 17413 
[40] 17259 17273 17287 17301 17315 17328 17342 17356 17370 17384 17335 17349 17377 
[53] 17391 17405 17331 17345 17359 17373 17387 17435 17449 17463 17477 17505 17336 
[66] 17364 17378 17392 17406 17352 17366 17380 17394 17408 17427 17441 17469 17483 
[79] 17497 17440 17454 17468 17482 17496 17434 17448 17462 17476 17490 17419 17433 
[92] 17447 17461 17475 17518 17560 17574 17588 17616 17653 17667 17681 17695 17709 
[105] 17644 17658 17686 17700 17728 17755 17769 17783 17811 17825 17825 17610 17624 
[118] 17638 17652 17666 18072 18114 18127 18155 18169 17651 17665 17680 17693 17707 
[131] 17657 17671 17685 17699 17659 17673 17687 17701 17715 17646 17660 17674 17688 
[144] 17702 17721 17735 17749 17763 17770 17734 17748 17762 17790 17861 17736 17750 
[157] 17764 17778 17792 17751 17765 17779 17793 17807 17742 17756 17770 17784 17798 
[170] 17772 17757 17771 17785 17799 17813 17777 17791 17819 17833 17854 17923 17937 
[183] 17965 17979 17993 17825 17839 17853 17867 17909 17832 17846 17860 17874 17888 
[196] 17919 17933 17961 17975 17989 17960 17974 17988 18002 18016 18183 18211 18225 
[209] 18239 18253 17931 17945 17959 17973 17987 17940 17954 17968 17982 17996 17966 
[222] 17980 17994 18022 18036 18021 18035 18049 18063 18091 18050 18064 18078 18092 
[235] 18106 18045 18059 18073 18087 18115 18024 18038 18052 18066 18080 18056 18070 
[248] 18084 18098 18112 18107 18121 18135 18149 18163 18105 18119 18133 18161 18175 
[261] 18143 18171 18185 18199 18213 18203 18246 18274 18288 18302 18316 18248 18276 
[274] 18290 18304 18318 18310 18324 18338 18352 18366 18315 18343 18357 18364 18378 
[287] 18350 18364 18378 18406 18420 18337 18351 18365 18379 18393 18374 18388 18402 
[300] 18430 18472 18344 18358 18386 18400 18414 18353 18381 18395 18409 18423 18387 
[313] 18415 18429 18443 18450 18408 18422 18436 18443 18464 18430 18437 18457 18464 
[326] 18471 18427 18434 18441 18455 18462 18428 18442 18456 18463 18470 

感謝

回答

9

那些「日期」顯然使用不同產地/比典型的POSIX標準,將與這個轉換工作所抵消。 R一般使用YYYY-MM-DD格式

as.Date(ddd, origin="1970-01-01") 

> head(as.Date(ddd, origin="1970-01-01")) 
[1] "2016-10-03" "2016-10-17" "2016-10-31" "2016-11-14" "2016-11-28" "2016-09-25" 

所以你需要建立正確的原點。如果是1960-01-01,那麼這些日期都不會超過08-01-2010。

> sum(as.Date(ddd, origin="1960-01-01") >= as.Date("2010-08-01")) 
[1] 0 
> sum(as.Date(ddd, origin="1960-01-01") < as.Date("2010-08-01")) 
[1] 336 
+8

只是爲了確認SAS使用1960-01-01作爲其日期來源:http://www.pauldickman.com/teaching/sas/dates.php – 2012-07-05 22:42:33