我一直在尝试将spss(.sav)文件导入r和sas并匹配数据。日期变量数量巨大,所以我将它转换为R. I'.m得到日期和时间变量的差异。 s中缺少显示r中开始日期的记录之一。所有时间戳均为12.00.00 in r而00.00.00 in sas。任何人都可以帮我解决我错的地方吗?
这是我在R中使用的代码:
library("memisc")
data<-as.data.set(spss.system.file('aa.sav'))
library("chron")
data$formdate<-as.chron(ISOdate(1582, 10, 14) + data$formdate)
data$randdate<-as.chron(ISOdate(1582, 10, 14) + data$randdate)
data$med1start<-as.chron(ISOdate(1582, 10, 14) + data$med1start)
data$med1end<-as.chron(ISOdate(1582, 10, 14) + data$med1end)
data
这是我在SAS中使用的代码
proc import datafile="C:\ofc\aa.sav" out=mydata dbms = sav replace;
run;
要了解R和SAS上的数据如何,请按照此link进行操作 任何帮助,将不胜感激。感谢。
答案 0 :(得分:1)
SAS中的日期时间是正确的。 SPSS编号表示自1582年10月14日午夜起的秒数.R为这些值添加12小时的原因是ISOdate function的可选hour
参数的默认值为{{ 1}}:
ISO日期(年,月,日,小时= 12,分钟= 0,秒= 0,tz =&#34; GMT&#34;)
如果您使用12
,则应该得到正确答案。