导入R时的SPSS日期格式

时间:2016-06-17 11:56:26

标签: r time spss

之前我没有使用过SPSS(.sav)文件,并尝试使用提供给我的一些数据文件,将它们导入R中。我没有收到任何文件说明,因为沟通是我很难自己弄清楚。

这是我的第一个问题。这是导入后R数据框中Date字段的样子:

> dataset2$Date[1:4]
[1] 13608172800 13608259200 13608345600 13608345600

我不知道数据应该是什么日期,但我发现如果我将上述数字除以10,那么这似乎给出了一个合理的日期(2013年2月)。 任何人都可以确认这确实是上述代表的吗?

我的第二个问题是关于另一个名为Begin_time的专栏。这是看起来像:

> dataset2$Begin_time[1:4]
[1] 29520 61800 21480 55080

知道这代表什么吗?我想相信这是时间的一些表示,因为记录是针对野生动物的观察,但我没有比这更多的信息来尝试猜测。我注意到,如果我采用End_TimeBegin_time之间的差异,我会得到120和180这样的数字,这对我来说似乎是分钟(观察野生动物3小时似乎是合理的),但绝对数字远远超过一天中的分钟数(1440),这让我感到困惑。 这是保留SPSS格式的时间吗?如果是这样,逻辑是什么?

不幸的是,我无法访问SPSS,因此非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

SPSS Statistics中的日期表示为自1582年10月1日以来持有秒数的浮点数双倍。如果使用SPSS R插件api,它们可以自动转换为R日期,但任何正确的转换器都应该能够为你做这件事。

答案 1 :(得分:2)

我遇到了同样的问题,这个功能是一个很好的解决方案:

pss2date <- function(x) as.Date(x/86400, origin = "1582-10-14")

这是我找到答案的地方:

  

http://scs.math.yorku.ca/index.php/R:_Importing_dates_from_SPSS